【2021/12/31】uniapp之安卓原生插件開發教程
- 2021 年 12 月 31 日
- 筆記
- android原生插件, 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"
}
}
}
- 是作為本地插件使用,還是上傳到插件市場都是可以的
結束語
到此為止,安卓原生插件開發就已經完成了
留言
點擊留言