【2021/12/31】uniapp之安卓原生外掛開發教程

夢中程式設計師發表於2021-12-31

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>
  1. 申請Appkey,在開發者中心,點選剛才建立的app
  2. Android包名和IOS Bundled都填寫成com.android.UniPlugin
  3. SHA1簽名自行百度如何獲取吧,這裡就不錯詳細講解了,教程
  4. 點選儲存,生成appkey
  5. 解壓我們下載好的APP離線SDK,下載地址
  6. 開啟Android Studio,open選擇UniPlugin-Hello-AS

  7. 我個人習慣project模式,所以切換一下
  8. 把我們剛才申請的appkey填寫到app/src/main/AndroidManifest.xml中,因為開發的是安卓,所以appkey肯定也是安卓的
  9. 把我們的證照放到app目錄下,我的證照名字叫leruge.keystore
  10. 配置證照,在app/build.gradlesigningConfigs選項中
  11. 右鍵UniPlugin-Hello-AS,建立Module
  12. 填寫外掛資訊
  13. 配置leruge_add/build.gradle,複製例子uniplugin_module/build.gradle
  14. leruge_add/src/main/java/com/example/leruge/add建立類AddModule
  15. 實現加法,程式碼如下
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);
    }
}
  1. 註冊外掛,在app/src/main/assets/dcloud_uniplugins.json檔案中新增,如下
  2. 到HbuilderX生成本地打包資源
  3. 把生成的本地打包資源複製到app/src/main/assets/apps目錄下

  4. 配置appid,在app/src/main/assets/data/dcloud_control.xml中配置
  5. 新增外掛project引用,在app/build.gradle中新增元件
  6. 測試,手機或者虛擬裝置連線以後,點選執行進行測試
  7. 測試成功以後就生成uniapp外掛,點選Android Studio右側的Gradle,依次選擇leruge_add/Tasks/other/assembleRelease,雙擊生成aar包,生成的包在leruge_add/build/outputs/aar目錄下
  8. 建立跟外掛相同名字的資料夾leruge_add,在leruge_add下建立android資料夾和package.json檔案
  9. 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"
        }
    }
}
  1. 是作為本地外掛使用,還是上傳到外掛市場都是可以的

結束語

到此為止,安卓原生外掛開發就已經完成了

留言

點選留言

相關文章