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"
}
}
}
- 是作為本地外掛使用,還是上傳到外掛市場都是可以的
結束語
到此為止,安卓原生外掛開發就已經完成了
留言
點選留言