乐趣区

关于uniapp:20211231uniapp之安卓原生插件开发教程

uniapp 之安卓原生插件开发教程

筹备

  1. hbuilderX,下载
  2. app 离线 SDK,下载
  3. Andorid Studio,安卓官网或中文社区
  4. 证书(能够本人筹备,也能够应用 android Studio 生成)

插件性能简介

  • 加法性能,咱们把插件名称起名为 leruge-add,办法是add,参数是ab

过程

  1. HbuilderX 创立一个我的项目
  2. pages/index/index.vue 中轻易写一个按钮,而后调用咱们的原生插件leruge-add,代码如下

    <template>
     <view>
         <button @click="add"> 加法 </button>
     </view>
    </template>
    
    <script>
     export default {
         methods: {add() {
                 // 引入原生插件 leruge-add
                 let lerugeAdd = uni.requireNativePlugin("leruge-add")
                 // 调用
                 lerugeAdd.add({
                     a: 1,
                     b: 2
                 }, res => {
                     uni.showToast({title: JSON.stringify(res),
                         icon: 'none'
                     })
                 })
             }
         }
     }
    </script>
    
    <style>
    </style>
  3. 申请 Appkey,在开发者核心,点击方才创立的 app
  4. Android 包名和 IOS Bundled 都填写成com.android.UniPlugin
  5. SHA1 签名自行百度如何获取吧,这里就不错具体解说了,教程
  6. 点击保留,生成 appkey
  7. 解压咱们下载好的 APP 离线 SDK,下载地址
  8. 关上 Android Studio,open 抉择UniPlugin-Hello-AS

  9. 我集体习惯 project 模式,所以切换一下
  10. 把咱们方才申请的 appkey 填写到 app/src/main/AndroidManifest.xml 中,因为开发的是安卓,所以 appkey 必定也是安卓的
  11. 把咱们的证书放到 app 目录下,我的证书名字叫leruge.keystore
  12. 配置证书,在 app/build.gradlesigningConfigs选项中
  13. 右键UniPlugin-Hello-AS,创立Module
  14. 填写插件信息
  15. 配置leruge_add/build.gradle,复制例子uniplugin_module/build.gradle
  16. leruge_add/src/main/java/com/example/leruge/add 创立类AddModule
  17. 实现加法,代码如下

    package com.example.leruge.add;
    
    import com.alibaba.fastjson.JSONObject;
    
    import io.dcloud.feature.uniapp.annotation.UniJSMethod;
    import io.dcloud.feature.uniapp.bridge.UniJSCallback;
    import io.dcloud.feature.uniapp.common.UniModule;
    
    public class AddModule extends UniModule {
    
     @UniJSMethod
     public void add(JSONObject json, UniJSCallback callback) {int a = json.getIntValue("a");
         int b = json.getIntValue("b");
         JSONObject res = new JSONObject();
         res.put("code", 1);
         res.put("result", a + b);
         callback.invoke(res);
     }
    }
  18. 注册插件,在 app/src/main/assets/dcloud_uniplugins.json 文件中增加,如下
  19. 到 HbuilderX 生成本地打包资源
  20. 把生成的本地打包资源复制到 app/src/main/assets/apps 目录下

  21. 配置 appid,在 app/src/main/assets/data/dcloud_control.xml 中配置
  22. 增加插件 project 援用,在 app/build.gradle 中增加组件
  23. 测试,手机或者虚构设施连贯当前,点击运行进行测试
  24. 测试胜利当前就生成 uniapp 插件,点击 Android Studio 右侧的 Gradle,顺次抉择leruge_add/Tasks/other/assembleRelease,双击生成aar 包,生成的包在 leruge_add/build/outputs/aar 目录下
  25. 创立跟插件雷同名字的文件夹 leruge_add,在leruge_add 下创立 android 文件夹和 package.json 文件
  26. aar 包放到 android 文件夹下,package.json最小配置即可,也能够依照理论状况配置

    {
     "name": "leruge-add",
     "id": "leruge-add",
     "version": "1.0.1",
     "description": "加法",
     "_dp_type":"nativeplugin",
     "_dp_nativeplugin":{
         "android": {
             "plugins": [
                 {
                     "type": "module",
                     "name": "lerug-add",
                     "class": "com.example.leruge.add.AddModule"
                 }
             ],
             "integrateType": "aar"
         }
     }
    }
  27. 是作为本地插件应用,还是上传到插件市场都是能够的

结束语

到此为止,安卓原生插件开发就曾经实现了

留言

点击留言

退出移动版