开发环境
- JAVA环境 jdk1.8 Android Studio 下载地址:AndroidStudio官网 OR Android Studio中文社区
App离线SDK下载:请下载2.9.8+版本的android平台SDK
HBuilderX 下载地址:官方下载地址
下载解压Android-SDK@3.3.11.81232_20220210.zip
Android Studio打开项目 UniPlugin-Hello-AS
打开项目APP右键 NEW一个模块
然后下一步
写好模块名 下一步
等待创建完成
打开新模块的build.gradle
下面代码替换到这个模块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'
/*implementation 'com.android.support:appcompat-v7:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'*/
}
打开项目APP的 build.gradle 引入我们的插件implementation project(':ayibosi_fileutils')
打开新项目nwe一个Java Class
import com.alibaba.fastjson.JSONObject;
import io.dcloud.feature.uniapp.UniSDKInstance;
import io.dcloud.feature.uniapp.annotation.UniJSMethod;
import io.dcloud.feature.uniapp.bridge.UniJSCallback;
import io.dcloud.feature.uniapp.common.UniModule;
public class FileUtils extends UniModule {
/**
* mode.add({
*
* },e=>{
*
* })
*/
//获取Context
public Context mcontext=new UniSDKInstance().getContext();
//重构@UniJSMethod 让uniAPP能识别 函数名
@UniJSMethod
public void add(JSONObject json, UniJSCallback callbak){
final int a=json.getIntValue("a");
final int b=json.getIntValue("b");
callbak.invoke(new JSONObject(){{
put("code",0);
put("return:",a+b);
}});
}
}
然后在APP>asstes>data>dcloud_uniplugins.json 添加
{
"plugins": [
{
"type": "module",
"name": "ayibosi-FileUtils",
"class": "com.example.ayibosi.fileutils.FileUtils"
}
]
}
打开HBuilderX新建uniAPP项目
添加butten
<button type="default" @click="modeoAdd">1+1=</button>
modeoAdd(){
//uni.requireNativePlugin("ayibosi-FileUtils")
//"ayibosi-FileUtils" 为 dcloud_uniplugins.json里的name
const testModeoAdd = uni.requireNativePlugin("ayibosi-FileUtils");
testModeoAdd.add({
a:1,
b:1
},
e=>{
uni.showToast({
icon:"none",
title:JSON.stringify(e)
})
})
}
然后 发行
编译完成后 打开路径
复制”__UNI__2092371“文件夹
打开AS项目 \UniPlugin-Hello-AS\app\src\main\assets\apps
替换 项目文件夹
打开 APP>assets>data>dcloud_control.xml 修改ID 为复制的文件夹名