文档https://ask.dcloud.net.cn/article/35416
环境准备
第一步
下载好的sdk中解压出来的UniPluigin-Hello-AS导入android studio
第二步
打开自带的uniplugin-richalert文件
按照文档修改文件
demo地址https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/103(按照文档的步骤跑不起来)
按照下边这个文件修改grade.build文件
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.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-release.aar'])
compileOnly "com.android.support:recyclerview-v7:26.1.0"
compileOnly "com.android.support:support-v4:26.0"
compileOnly "com.android.support:appcompat-v7:26.1.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'*/
}
完成以上操作表示当前的Module已经具备了开发uni-app插件的能力了。
**
开发插件
uni-app原生插件是基于开源项目weex的0.20.0版本架构的扩展机制,同样支持Module(非UI控件)和Component(原生UI控件)两种扩展类型。特别注意uni-app插件目前仅支持Module扩展和Component扩展,暂时不支持Adapter扩展!!!
用demo自带的uniplugin_richalert
问题1:找不到alibaba包
import com.alibaba.fastjson.JSONArray;
解决方式【我的另一篇文章】
问题2:io.dcloud.application.DCloudApplication
io.dcloud.application.DCloudApplication
导致:
打包生成插件
右侧点击 gradle —> uniplugin_richalert —> other —>assembleRease
执行grade命令
结果:符合预期,alibaba包报错如果正常打包出来了,还不正常了
当把问题1 alibaba依赖包的问题解决后继续尝试打包插件
又报错
全局搜索后发现是在
又一个unresolve的package
关于AndroidManifest.xml的详解
application里这个name属性是可选的
删除
删除name再次运行app
activity报错, activity的name属性是不能删除的
解决<activity name属性的问题
指向程序的主类
当我以为程序正常打包了,就是正确的了,又继续踩坑。
原生插件的每一次调试都需要进行自定义基座打包…
如果变更了原生插件而没有再自定义打包的话程序是没有变化的
当我删除官网的demo换成我assembleRease打包后的文件后,报错了