文档https://ask.dcloud.net.cn/article/35416

环境准备

第一步

下载好的sdk中解压出来的UniPluigin-Hello-AS导入android studio
image.png


第二步

打开自带的uniplugin-richalert文件
按照文档修改文件
demo地址https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/103(按照文档的步骤跑不起来)
按照下边这个文件修改grade.build文件

  1. apply plugin: 'com.android.library'
  2. android {
  3. compileSdkVersion 28
  4. defaultConfig {
  5. minSdkVersion 16
  6. targetSdkVersion 28
  7. versionCode 1
  8. versionName "1.0"
  9. testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  10. }
  11. buildTypes {
  12. release {
  13. minifyEnabled false
  14. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  15. }
  16. }
  17. }
  18. repositories {
  19. flatDir {
  20. dirs 'libs'
  21. }
  22. }
  23. dependencies {
  24. compileOnly fileTree(dir: 'libs', include: ['*.jar'])
  25. compileOnly fileTree(dir: '../app/libs', include: ['uniapp-release.aar'])
  26. compileOnly "com.android.support:recyclerview-v7:26.1.0"
  27. compileOnly "com.android.support:support-v4:26.0"
  28. compileOnly "com.android.support:appcompat-v7:26.1.0"
  29. /*implementation 'com.android.support:appcompat-v7:28.0.0'
  30. testImplementation 'junit:junit:4.12'
  31. androidTestImplementation 'com.android.support.test:runner:1.0.2'
  32. androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'*/
  33. }

完成以上操作表示当前的Module已经具备了开发uni-app插件的能力了。
**


开发插件

uni-app原生插件是基于开源项目weex0.20.0版本架构的扩展机制,同样支持Module(非UI控件)和Component(原生UI控件)两种扩展类型。特别注意uni-app插件目前仅支持Module扩展和Component扩展,暂时不支持Adapter扩展!!!
用demo自带的uniplugin_richalert

问题1:找不到alibaba包

import com.alibaba.fastjson.JSONArray;

image.png

解决方式【我的另一篇文章

问题2:io.dcloud.application.DCloudApplication

io.dcloud.application.DCloudApplication
image.png

导致:
image.png

打包生成插件

右侧点击 gradle —> uniplugin_richalert —> other —>assembleRease
执行grade命令

image.png

结果:符合预期,alibaba包报错如果正常打包出来了,还不正常了
image.png

当把问题1 alibaba依赖包的问题解决后继续尝试打包插件

又报错
image.png

全局搜索后发现是在
又一个unresolve的package
关于AndroidManifest.xml的详解
application里这个name属性是可选的
删除
image.png

删除name再次运行app
activity报错, activity的name属性是不能删除的

image.png

解决<activity name属性的问题

image.png

指向程序的主类

当我以为程序正常打包了,就是正确的了,又继续踩坑。
原生插件的每一次调试都需要进行自定义基座打包…

如果变更了原生插件而没有再自定义打包的话程序是没有变化的

当我删除官网的demo换成我assembleRease打包后的文件后,报错了

image.png