1.原生安卓里面引入uniapp官方提供的包文件: uniapp-v8-release.aar
2.提供uniapp调用的接口,新建类文件继承UniModule,
package com.dermandar.panoramal;
import com.scjt.lib.certlib;
import io.dcloud.feature.uniapp.annotation.UniJSMethod;
import io.dcloud.feature.uniapp.bridge.UniJSCallback;
import io.dcloud.feature.uniapp.common.UniModule;
//继承UniModule
public class UniPanoModule extends UniModule {
public static int REQUEST_CODE = 900;
UniJSCallback getcallback;
private certlib certlib;
//注解@UniJSMethod标识uniapp可调用,uiThread 是否异步线程
@UniJSMethod(uiThread = true)
public void cmpinit(String certcode, UniJSCallback callback) {
if (callback!=null){
certlib = new certlib();
callback.invoke(certlib.cmpinit(certcode));
certlib = null;
}
}
}
3.打包.aar文件
-
修改build.grandle文件
// apply plugin: 'com.android.application' 修改成 apply plugin: 'com.android.library'
-
删除build.grandle文件中的 applicationId
-
修改AndroidManifest.xml文件
//注释掉入口文件 <!-- <intent-filter>--> <!-- <action android:name="android.intent.action.MAIN"/>--> <!-- <category android:name="android.intent.category.LAUNCHER"/>--> <!-- </intent-filter>-->
-
删除AndroidManifest.xml文件中application中的属性 icon,label
-
make module则可以生成.aar包文件
- uniapp使用.aar参考上一篇文章