浅谈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基座手机,然后去调试,就可以了!


完整项目附件:点此下载

相关推荐
刮风那天1 小时前
Android 如何降低进程优先级可以被查杀?
android
资源分享助手3 小时前
超级改图P图改字无限制版教程(安卓)AI改图软件、图片改字软件、安卓修图APP、智能消除工具、图片拼接APP、超级改图下载
android·人工智能
Lehjy3 小时前
【Linux】文件系统磁盘存储结构
android·linux·运维
西洼工作室3 小时前
UniApp云开发笔记
前端·笔记·uni-app
BU摆烂会噶4 小时前
【LangGraph】节点内调用与状态隔离
android·人工智能·python·ui·langchain·人机交互
Martin -Tang4 小时前
uniapp 实现录音操作,长按录音,放开取消
前端·javascript·vue.js·uni-app·css3·录音
BU摆烂会噶4 小时前
【LangGraph】作为节点添加与状态共享
android·人工智能·python·ui·langchain·人机交互
刘大猫.5 小时前
重塑经典:Snapseed4.0全面登陆安卓,内置“胶片相机”与专业手动模式
android·数码相机·ai·机器人·大模型·算力·snapseed4.0
Languorous.5 小时前
MySQL聚合查询:COUNT、SUM、AVG用法,实战案例演示
android·数据库
沅霖6 小时前
Android Studio Java工程开发环境,怎么切换到Kotlin开发环境
android·kotlin·android studio