Uniapp——使用安卓原生插件 1. 开发环境2. 解压SDK压缩包3. 导入UniPlugin-Hello-AS项目、并切换为project显示4. 可删除提供的demo文件5. 新建mo
删除build.gradle插件
删除settings.gradle 设置
刷新一下项目
加载一下依赖
test-module – build.gradle
apply plugin: 'com.android.library'android { compileSdkVersion 29 defaultConfig { minSdkVersion 16 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}repositories { flatDir { dirs 'libs' }}dependencies { compileOnly fileTree(dir: 'libs', include: ['*.jar']) compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar']) compileOnly 'androidx.recyclerview:recyclerview:1.0.0' compileOnly 'androidx.legacy:legacy-support-v4:1.0.0' compileOnly 'androidx.appcompat:appcompat:1.0.0' implementation 'com.alibaba:fastJSON:1.1.46.android' implementation 'com.facebook.fresco:fresco:1.13.0' }
test-module – AndroidManifest.xml
<manifest xmlns:android="Http://schemas.android.com/apk/res/android" package="com.example.test_module" />
修改完后再重写加载一下依赖
public class UniTestModule extends UniModule { @UnijsMethod(uiThread = false) public void testAsyncFunc(JSONObject options, UniJSCallback callback) { if(callback != null) { JSONObject data = new JSONObject(); data.put("code", "success"); callback.invoke(data); } }}
package.json 文件
{"name": "test-module","id": "test-module","version": "1.0.0","description": "内置插件","_dp_type": "nativeplugin","_dp_nativeplugin": {"android": {"plugins": [{"type": "module", //module 或 component类型"name": "test-module", //注册名称 和后续uniapp项目模块导入名字一致"class": "com.example.test_module.UniTestModule" //原生项目实体类完整名称}],"integrateType": "aar","abis": []}}}
<template><view><button @click="handleTest">测试按钮</button><view>返回信息:{{result}}</view></view></template><script>const testModule = uni.requireNativePlugin('test-module')export default {data() {return {result:""}},onLoad() {},methods: {handleTest(){const param = {name:"张三"}testModule.testAsyncFunc(param,(res)=>{this.result = JSON.stringify(res)})}}}</script>
DCloud开发者中心:https://dev.dcloud.net.cn/
android 包名 与 iOS 一致为:com.android.UniPlugin
生成步骤教程:https://blog.csdn.net/qq812457115/article/details/126011332
{ "nativePlugins": [ { "plugins": [ { "type": "module", "name": "test-module", "class": "com.example.test_module.UniTestModule" } ] } ]}
重新加载一下依赖
来源地址:https://blog.csdn.net/qq812457115/article/details/127808751
--结束END--
本文标题: Uniapp——使用安卓原生插件
本文链接: https://www.lsjlt.com/news/424329.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0