赞
踩
【彩带- 避坑知识点】:
当时开发中安卓插件打包成功后,uniapp引用插件aar,用云打包 ,总是提示不包含插件。原因是因为module的androidManifest.xml文件没有注册activity。 这一步 很重要,一定要注册。
---------------------------------------------------------------------------------------------------------------------------------
流程开始:
准备步骤
注意:建议都下载最新版本,下载地址与详细请参考官方文档。Android插件开发教程
一、导入uni插件项目(注意:尽量用demo里面的buildgradle插件版本号和gradle版本)
二、新建module
- package com.example.mylibrary;
-
- 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;
-
- // 一定要继承UniModule
- public class testModule extends UniModule {
- // 使用UniJSMethod注解,才能使用js调用
- @UniJSMethod(uiThread = true)
- public void add (JSONObject json, UniJSCallback callback) {
- final int a = json.getInteger("a");
- final int b = json.getInteger("b");
- callback.invoke(new JSONObject() {{
- put("code", 0);
- put("result", a + b);
- }});
- }
- }
三、在uniapp中引用
本文采用vue3+ts编写uniapp部分
- <template>
- <view class="content">
- <image class="logo" src="/static/logo.png"></image>
- <view class="text-area">
- <button @click="test">测试</button>
- </view>
- </view>
- </template>
-
- <script setup lang="ts">
- const test= ()=>{
- // 引入自定义插件
- const testModule = uni.requireNativePlugin('my-testmodule')
- // 使用module的add方法
- testModule.add({
- a:1,b:3
- },e=>{
- uni.showToast({
- title:JSON.stringify(e),
- icon:'none'
- })
- })
- }
- </script>
四、在Android studio中调试
android studio如何打包aar,请见下一篇文章:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。