安卓java打包uniapp原生插件 和 uniapp使用安卓android原生插件

1.uniapp dcloud官方文档 简介 | uni小程序SDK

2.前提,需要有经验的安卓java开发人员,并且同时具备uniapp移动端开发经验。说明:android打包的.aar和uniapp需要的.aar是不一样的,uniapp需要的.aar是需要有一些特定配置的(例如-uniapp要调用.aar中的方法函数,必须在安卓java相应的方法函数上加上@UniJSMethod(uiThread = true))。最简单的方式之一就是使用官方的demo进行扩展开发,这篇文章也是按照官方demo进行简单讲述,如有疑问,欢迎咨询。这种事情最终只有自己理解到了才算自己的,加油吧!少年!

3.使用android studio开发工具,导入uniapp安卓平台sdk中的UniPlugin-Hello-AS项目,说明:果出现此错误Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in D:\workspace\UniPlugin-Hello-AS\app\build\outputs\mapping\debug\missing_rules.txt,则将missing_rules.txt中的内容复制到proguard-rules.pro文件中即可。如果build.grade版本****targetSdkVersion报错,则加入下列配置

复制代码
 lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }

4.hbuildx 工具导入unipluginDemo

5.创建nativeplugins目录,以及相关插件目录结构如下,package.json使用配置如下,需要跟android中的dcloud_uniplugins.json中配置一致。说明,如果自定义开发了其他android moudle插件,相关信息需要再dcloud_uniplugins.json中配置,格式参照demo和官网说明

6.android打包.aar方式一

7.获取.aar包,存在路径

8.复制此.aar到hbuildx目录,没有则自己创建

9.uniapp引入本地插件,说明:nativeplugins目录格式一定要正确

10.uniapp制作自定义基座,进行真机调试。说明:直接进行真机调试会提示无法找到插件

11.运行到android app基座,并选择 使用自定义基座

12.真机结果

13.在此流程基础上,可自定义开发安卓原生插件到uniapp使用。说明:网上所谓的需要证书密钥,uniapp的appid的情况是uniapp打包app资源到原生安卓的时候,android 里面相关配置文件需要的,只是uniapp使用安卓.aar插件时不需要这些的

相关推荐
李艺为1 小时前
非预置应用使用platform签名并且添加了android.uid.system无法adb安装解决方法
android·adb
李宥小哥3 小时前
C#基础11-常用类
android·java·c#
2501_915909064 小时前
HTML5 与 HTTPS,页面能力、必要性、常见问题与实战排查
前端·ios·小程序·https·uni-app·iphone·html5
草字8 小时前
uniapp 防止长表单数据丢失方案,缓存表单填写内容,放置卡退或误操作返回。
前端·javascript·uni-app
Jerry8 小时前
Compose 中的绘制功能简介
android
2501_915106329 小时前
JavaScript编程工具有哪些?老前端的实用工具清单与经验分享
开发语言·前端·javascript·ios·小程序·uni-app·iphone
我科绝伦(Huanhuan Zhou)9 小时前
【脚本升级】银河麒麟V10一键安装MySQL9.3.0
android·adb
消失的旧时光-19439 小时前
Android回退按钮处理方法总结
android·开发语言·kotlin
叫我龙翔10 小时前
【MySQL】从零开始了解数据库开发 --- 数据表的约束
android·c++·mysql·数据库开发