uniapp封装原生andorid的jar包

  • 下载Android离线打包SDK
  • 创建一个module
  • 注册这个module
  • uniapp建一个项目
  • 在uniapp官网的开发者中心申请appid
  • 真机直接测试
  • 打jar包
  • 发布apk



首先说明,该文章是默认你已经对原生安卓的开发非常熟悉,并且十分熟悉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,自己重建:

android封装库教程 安卓封装打包app源码_android

创建一个module

这个过程和正常的创建module没有什么不同,比如TestModule

android封装库教程 安卓封装打包app源码_uni-app_02

修改该modole的build.gradle,加入必要的依赖,还要加入导入aar包的设置,如下:

android封装库教程 安卓封装打包app源码_uni-app_03

上图中的v8的aar包在app项目的lib中:

android封装库教程 安卓封装打包app源码_android_04

不要把它复制到module的lib中,没有必要。

在module中创建一个类,比如TestModule,他要继承UniModule,在里面要被uniapp调用的方法上加入@UniJSMethod,如下:

android封装库教程 安卓封装打包app源码_离线_05


如果要传参数过来,要这样接收:

android封装库教程 安卓封装打包app源码_android_06

注册这个module

在app的build中引入这个module:

android封装库教程 安卓封装打包app源码_jar包_07

然后在app的assets里找到dcloud_uniplugins.json,将module信息写进去:

android封装库教程 安卓封装打包app源码_jar包_08

uniapp建一个项目

先要注册一个dcloud账户,使用这个账户登录hbuilderX,有账户才能申请打离线包和申请appid。

在uniapp中建一个新项目,里面通过uni.requireNativePlugin方法调用module:

android封装库教程 安卓封装打包app源码_android_09

然后打将这个uniapp项目打一个离线包

android封装库教程 安卓封装打包app源码_jar包_10


打出来后是一个这样的文件夹:

android封装库教程 安卓封装打包app源码_jar包_11


这个文件夹的名字其实就是这个uniapp项目的id。

在安卓项目的main的assets中建一个文件夹apps,将这个文件夹复制进去:

android封装库教程 安卓封装打包app源码_uni-app_12


修改assets里的data中的control.xml,将这个uniapp项目的id写进去:

android封装库教程 安卓封装打包app源码_离线_13

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

在app的build中确定自己的包名,配上自己的签名,要去申请appid使用:

android封装库教程 安卓封装打包app源码_uni-app_14


android封装库教程 安卓封装打包app源码_uni-app_15

将包名,sha1填到uniapp的开发者中心上,申请appid:

开发者中心网址:https://dev.dcloud.net.cn/app/index?type=0

进入后就能看到自己刚刚打包的那个项目:

android封装库教程 安卓封装打包app源码_uni-app_16

点进去,在左边有个离线打包key管理,填入包名,sha1,申请id,不打包ios就不选ios:

android封装库教程 安卓封装打包app源码_jar包_17


将这个appid写入app项目的manifest里:

android封装库教程 安卓封装打包app源码_jar包_18

真机直接测试

android封装库教程 安卓封装打包app源码_jar包_19


正常就可以安装运行了:

android封装库教程 安卓封装打包app源码_android_20

打jar包

测试通过后,将module打一个jar包,打jar包的方法就不讲了,搞安卓开发的都会。

android封装库教程 安卓封装打包app源码_jar包_21


然后把jar包放入app的lib里

android封装库教程 安卓封装打包app源码_android_22


然后就可以把app里build.gradle里的implementation project删掉了:

android封装库教程 安卓封装打包app源码_离线_23


真机运行测试,一样可以正常运行

发布apk

直接在android studio上发布apk,发布的时候要把manifest里的android:debuggable="true"去掉,不然发布不成功。
发布成apk就可以直接安装在手机上用了