文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

uniapp 原生安卓开发插件(module),以及android环境本地调试(一)

2023-08-18 06:36

关注

1、开发前景

由于uniapp 框架的局限先,有很多功能不能如原生android开发使用顺畅,因此,需要使用插件进行辅助,再由uniapp引入插件,使得功能完善。废话不多说,直接上教程!觉得有用的麻烦点个赞吧!

2、准备工作

3、android 导入 app离线SDK(第二点4下载的压缩包)

4、新建module(实现我们功能的模块)

在这里插入图片描述

repositories {    flatDir {        dirs 'libs'    }}dependencies {    compileOnly fileTree(dir: 'libs', include: ['*.jar'])    compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar'])    implementation 'androidx.recyclerview:recyclerview:1.0.0'    implementation 'androidx.legacy:legacy-support-v4:1.0.0'    implementation 'androidx.appcompat:appcompat:1.0.0'    implementation 'com.alibaba:fastjson:1.1.46.android'    implementation 'com.facebook.fresco:fresco:1.13.0'    testImplementation 'junit:junit:4.12'}

在这里插入图片描述

如果同步失败,请检查是否出现 下图错误 No signature ofm.android0 is applicable for arg
Try Again Open ‘Build’ View
Show Log in Explorer

在这里插入图片描述
请删除 namespace,再在找到androidManifest.xml 添加包名,再点击 file —> sync project whit Gradle Files 进行同步即可
在这里插入图片描述

             

在这里插入图片描述
编写模块类(也就是我们新建的类名),编写测试代码
注意:继承UniModule,并添加@UniJSMethod注解(哪个功能方法需要抛出给uniapp使用就加上这个注解

package com.example.uniplugin_sunmi;import com.alibaba.fastjson.JSONObject;import io.dcloud.feature.uniapp.annotation.UniJSMethod;import io.dcloud.feature.uniapp.bridge.UniJSCallback;import io.dcloud.feature.uniapp.common.UniModule;// 一定要继承UniModulepublic class ScanCode extends UniModule {    // 使用UniJSMethod注解,才能使用js调用    @UniJSMethod(uiThread = true)    public void  add (JSONObject json, UniJSCallback callback) {        final int a = json.getInteger("a");        final int b = json.getInteger("b");        callback.invoke(new JSONObject() {{            put("code", 0);            put("result", a + b);        }});    }}

编写结束

5、在uniapp中使用

{"name": "sunmi-scan","id": "sunmi-scan","version": "1.0.0","description": "订单的","_dp_type": "nativeplugin","_dp_nativeplugin": {"android": {"integrateType": "aar","plugins": [{"type": "module","name": "sunmi-scan","class": "com.example.uniplugin_sunmi.ScanCode"}], "minSdkVersion": "19"}}}

在这里插入图片描述

添加本地插件

最后:打包成为基座进行测试(最主要的)

来源地址:https://blog.csdn.net/weixin_39246975/article/details/129078281

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯