一、开发环境
- jdk 1.8
- android studio
- 2.9.8+ 的 android平台SDK
下载SDK:https://nativesupport.dcloud.net.cn/AppDocs/download/android
这里 UniPlugin-Hello-AS工程 是一个示例项目可以看一下:
下面会借用里面的uniplugin_module。
二、新建uniapp项目
参考过程 https://xundh.blog.csdn.net/article/details/107061582
三、搭建本地编译环境
在android studio 导入SDK里的 HBuilder-Integrate-AS项目。
四、开发步骤
本文只是演示uniapp集成原生插件的过程,下面直接借用了uniplugin_module项目。
1. 编译示例中的uniplugin_module,生成aar
找到生成的aar:
2. 在 HBuilder项目里添加插件
目录格式(在项目根目录创建nativePlugins目录):
4.2.1 package.json内容:
{
"name": "TestModule",
"id": "TestModule",
"version": "0.1",
"description": "connect",
"_dp_type":"nativeplugin",
"_dp_nativeplugin":{
"android": {
"plugins": [
{
"type": "module",
"name": "TestModule",
"class": "io.dcloud.uniplugin.TestModule"
}
],
"hooksClass": "",
"integrateType": "aar",
"dependencies": [
],
"compileOptions": { //可选,Java编译参数配置
"sourceCompatibility": "1.8",
"targetCompatibility": "1.8"
},
"abis": [
"armeabi-v7a",
"x86",
"arm64-v8a"
],
"minSdkVersion": "21",
"permissions": [
""
],
"parameters": {
}
}
}
}
4.2.2 配置manifest.json
3. 在本地编译环境中添加插件
在 src/main/assets/ 下新建文件: dcloud_uniplugins.json
内容如下:
{
"nativePlugins": [
{
"plugins": [
{
"type": "module",
"name": "TestModule",
"class": "io.dcloud.uniplugin.TestModule"
}
]
}
]
}
五、在vue中使用插件
const modal = uni.requireNativePlugin('modal');
var testModule = uni.requireNativePlugin("TestModule");
testModule.testAsyncFunc({'name':'unimp','age':1},
(ret)=>{
modal.toast({
message:ret,
duration:1.5
});
})
六、编译项目及使用
1. 生成资源包
2. 拷贝生成的目录放到android studio下
3. 修改 src/main/assets/data/dcloud_control.xml
运行项目,就可以通过vue调用android原生代码了。