浅谈uniapp中开发安卓原生插件

其实官方文档介绍的比较清楚而且详细,但是有时候他太墨迹,你一下子找不到自己想要的,所以我总结了一下开发的提纲,也是为了自己方便下次使用。

1.第一步,下载官方提供的Android的示例工程,然后倒入UniPlugin-Hello-AS工程请在App离线SDK中查找,之后Android studio,编译运行项目成功。

2.第二步,在项目下新建一个module,然后选择右侧的"Android library",填写好名称等信息之后,点击finish,这个module,就是我们日后要在uniapp里面用到的module。

3.第三步,在刚才新建的module的build.gradle文件里面,添加如下依赖,然后构建成功。

4.第四步,然后在module工程里面新建一个类,继承UniModule,编写你真正需要在uniapp里面要调用的业务代码,并注册插件,如下图

c 复制代码
public class TestModule extends UniModule {
    @UniJSMethod(uiThread = true)
    public void testAsyanc(JSONObject options, UniJSCallback callback) {
        Log.e("TestModule", "testAsyncFunc--" + options);
        if (callback != null) {
            JSONObject data = new JSONObject();
            data.put("code", "success");
            callback.invoke(data);
        }
    }

    //run JS thread
    @UniJSMethod(uiThread = false)
    public JSONObject testSyncFunc() {
        JSONObject data = new JSONObject();
        data.put("code", "success");
        return data;
    }
}

此处注册的插件的"name",与插件的文件的名称保持一致,方便日后使用,"class"为日后调用的方法的文件的全类名。

5.第五步,点击Android studio工具的右侧的Gradle工具栏,将我们的module打包成arr文件,打包完成后的文件去module的build-outputs-arr文件夹里面去找。

6.第六步,打开uniapp的官方推荐开发工具HbuilderX,在项目的根目录,新建nativeplugins的文件夹,然后里面新建一个文件夹,名字和插件.arr的文件保持一致,然后在新建的文件夹里面新建android文件夹和一个叫package.json的文件,然后将刚才第五步打包生成的arr文件放入到新建的android文件夹中,然后在package.json的文件中配置插件,如下图,name可以随意起名,为了方便我就都起了一样的名字,id的名称一定和文件的名称一样,下面的plugins里面的配置和刚才Android studio里面的配置保持一致。

7.第七步,使用HbuildX开发工具,制定调试打包的基座(其实这里的打包基座就是将配置有原生插件的uniapp工程打包成一个Android 的apk安装包,然后运行到手机上,去调试.打包基座之前,要记得在项目的manifest文件里面配置项目的插件


8.第八步,制作完自定义基座之后,运行项目到Android App基座手机,然后去调试,就可以了!


完整项目附件:点此下载

相关推荐
李艺为9 小时前
根据apk包名动态修改Android品牌与型号
android·开发语言
Tom4i10 小时前
【网络优化】Android 如何监听系统网络连接成功
android·网络
FrameNotWork11 小时前
HarmonyOS 与 Android 架构对比:从“写页面”到“设计系统”的差异
android·架构·harmonyos
TAEHENGV11 小时前
基本设置模块 Cordova 与 OpenHarmony 混合开发实战
android·java·数据库
屏息13 小时前
Android 低延迟流媒体播放器实战:基于 FFmpeg 6.1.1 的 RTSP/RTMP 解决方案
android
TeleostNaCl15 小时前
Kodi | 如何使用 ADB 无 root 备份 Android 版本 Kodi 的数据并导入到另一台设备中
android·经验分享·adb·电视盒子·智能电视·tv·智能tv
csj5015 小时前
安卓基础之《(10)—中级控件(4)对话框》
android
nono牛15 小时前
Android.bp 配置文件详解---gatekeeperd
android
来来走走15 小时前
Android开发(kotlin) 开发一个简单天气应用
android·kotlin
iOS阿玮16 小时前
鸿蒙激励的羊毛,你"薅"到了么?
uni-app·app·apple