【2021/12/31】uniapp之安卓原生插件开发教程
uniapp之安卓原生插件开发教程

准备
插件功能简介
- 加法功能,我们把插件名称起名为
leruge-add,方法是add,参数是a和b
过程
- HbuilderX创建一个项目
![]()
- 在
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>
- 申请Appkey,在开发者中心,点击刚才创建的app
![]()
- Android包名和IOS Bundled都填写成
com.android.UniPlugin - SHA1签名自行百度如何获取吧,这里就不错详细讲解了,教程
- 点击保存,生成appkey
![]()
- 解压我们下载好的APP离线SDK,下载地址
![]()
- 打开Android Studio,open选择
UniPlugin-Hello-AS
![]()
![]()
- 我个人习惯project模式,所以切换一下
![]()
- 把我们刚才申请的appkey填写到
app/src/main/AndroidManifest.xml中,因为开发的是安卓,所以appkey肯定也是安卓的
![]()
- 把我们的证书放到app目录下,我的证书名字叫
leruge.keystore
![]()
- 配置证书,在
app/build.gradle的signingConfigs选项中
![]()
- 右键
UniPlugin-Hello-AS,创建Module
![]()
- 填写插件信息
![]()
- 配置
leruge_add/build.gradle,复制例子uniplugin_module/build.gradle
![]()
- 在
leruge_add/src/main/java/com/example/leruge/add创建类AddModule
![]()
- 实现加法,代码如下
![]()
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);
}
}
- 注册插件,在
app/src/main/assets/dcloud_uniplugins.json文件中添加,如下
![]()
- 到HbuilderX生成本地打包资源
![]()
- 把生成的本地打包资源复制到
app/src/main/assets/apps目录下
![]()
![]()
- 配置appid,在
app/src/main/assets/data/dcloud_control.xml中配置
![]()
- 添加插件project引用,在
app/build.gradle中添加组件
![]()
- 测试,手机或者虚拟设备连接以后,点击运行进行测试
![]()
- 测试成功以后就生成uniapp插件,点击Android Studio右侧的
Gradle,依次选择leruge_add/Tasks/other/assembleRelease,双击生成aar包,生成的包在leruge_add/build/outputs/aar目录下 - 创建跟插件相同名字的文件夹
leruge_add,在leruge_add下创建android文件夹和package.json文件 - 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"
}
}
}
- 是作为本地插件使用,还是上传到插件市场都是可以的
结束语
到此为止,安卓原生插件开发就已经完成了
留言
点击留言

























浙公网安备 33010602011771号