uniapp封装原生andorid的jar包

uniapp封装原生andorid的jar包


首先说明,该文章是默认你已经对原生安卓的开发非常熟悉,并且十分熟悉android studid的操作,否则就不用了。
官方相关文档:https://nativesupport.dcloud.net.cn/NativePlugin/course/android

下载Android离线打包SDK

里面有demo:
网址如下:https://nativesupport.dcloud.net.cn/NativePlugin/course/android
用android studio打开其中的UniPlugin-Hello-AS项目
删掉里面里面本来已经有的几个module,自己重建:
uniapp封装原生andorid的jar包

创建一个module

这个过程和正常的创建module没有什么不同,比如TestModule
uniapp封装原生andorid的jar包

修改该modole的build.gradle,加入必要的依赖,还要加入导入aar包的设置,如下:
uniapp封装原生andorid的jar包

上图中的v8的aar包在app项目的lib中:
uniapp封装原生andorid的jar包

不要把它复制到module的lib中,没有必要。
在module中创建一个类,比如TestModule,他要继承UniModule,在里面要被uniapp调用的方法上加入@UniJSMethod,如下:
uniapp封装原生andorid的jar包
如果要传参数过来,要这样接收:
uniapp封装原生andorid的jar包

注册这个module

在app的build中引入这个module:
uniapp封装原生andorid的jar包
然后在app的assets里找到dcloud_uniplugins.json,将module信息写进去:

uniapp封装原生andorid的jar包

uniapp建一个项目

先要注册一个dcloud账户,使用这个账户登录hbuilderX,有账户才能申请打离线包和申请appid。
在uniapp中建一个新项目,里面通过uni.requireNativePlugin方法调用module:
uniapp封装原生andorid的jar包
然后打将这个uniapp项目打一个离线包
uniapp封装原生andorid的jar包
打出来后是一个这样的文件夹:
uniapp封装原生andorid的jar包
这个文件夹的名字其实就是这个uniapp项目的id。
在安卓项目的main的assets中建一个文件夹apps,将这个文件夹复制进去:
uniapp封装原生andorid的jar包
修改assets里的data中的control.xml,将这个uniapp项目的id写进去:
uniapp封装原生andorid的jar包

在uniapp官网的开发者中心申请appid

在app的build中确定自己的包名,配上自己的签名,要去申请appid使用:
uniapp封装原生andorid的jar包
uniapp封装原生andorid的jar包
将包名,sha1填到uniapp的开发者中心上,申请appid:
开发者中心网址:https://dev.dcloud.net.cn/app/index?type=0
进入后就能看到自己刚刚打包的那个项目:
uniapp封装原生andorid的jar包
点进去,在左边有个离线打包key管理,填入包名,sha1,申请id,不打包ios就不选ios:
uniapp封装原生andorid的jar包
将这个appid写入app项目的manifest里:
uniapp封装原生andorid的jar包

真机直接测试

uniapp封装原生andorid的jar包
正常就可以安装运行了:
uniapp封装原生andorid的jar包

上一篇:uni-app动态设置title


下一篇:uni-app