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

本文档详细介绍了如何开发和使用uniapp原生安卓插件,包括使用android studio开发,解决构建问题,配置package.json,打包.aar,以及在uniapp中引入和调试原生插件的步骤。特别指出,uniapp调用安卓原生插件的方法需加上@UniJSMethod(uiThread = true)注解。
摘要由CSDN通过智能技术生成

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插件时不需要这些的
 

  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
uniapp 原生插件开发中,你可以通过编写 `Java` 代码来使用 `registerReceiver` 注册广播接收器。具体步骤如下: 1. 在你的插件项目中创建一个 `BroadcastReceiver` 类,继承自 `android.content.BroadcastReceiver`。 ```java public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // 处理广播接收事件 } } ``` 2. 在插件的 `UniPlugin.java` 文件中,实现注册和注销广播接收器的方法。 ```java public class UniPlugin implements IPlugin { private MyBroadcastReceiver receiver; @Override public void onAppCreate(Context context) { // 注册广播接收器 receiver = new MyBroadcastReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction("com.example.mybroadcast"); context.registerReceiver(receiver, filter); } @Override public void onAppDestroy(Context context) { // 注销广播接收器 if (receiver != null) { context.unregisterReceiver(receiver); receiver = null; } } } ``` 3. 在 `AndroidManifest.xml` 文件中添加广播接收器的声明。 ```xml <receiver android:name=".MyBroadcastReceiver"> <intent-filter> <action android:name="com.example.mybroadcast" /> </intent-filter> </receiver> ``` 4. 在需要发送广播的地方,调用 `sendBroadcast` 方法发送广播。 ```java Intent intent = new Intent(); intent.setAction("com.example.mybroadcast"); context.sendBroadcast(intent); ``` 以上就是使用 `registerReceiver` 注册广播接收器的基本步骤。需要注意的是,注册和注销广播接收器的时机应该和插件的生命周期保持一致,否则可能会出现注册失败或者内存泄漏的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮生若梦l

你的鼓励实我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值