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

news2024/12/24 2:46:48

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

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里面要调用的业务代码,并注册插件,如下图

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

在这里插入图片描述
在这里插入图片描述
完整项目附件:点此下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1126189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++11新特性之十六:std::tie

在c 11标准库中&#xff0c;加入了std::tie&#xff0c;在c 14中改进&#xff0c;方便使用。 其与std::tuple关系密切&#xff0c; 主要目的是方便地使用std::tuple。 std::tie函数的作用就是从元素引用中生成一个std::tuple元组&#xff0c;其在头文件<tuple>中定义&…

Git(二)版本控制、发展历史、初始化配置、别名

目录 一、版本控制1.1 为什么要使用版本控制&#xff1f;1.2 集中化的版本控制系统1.3 分布式的版本控制系统1.3 两种版本控制系统对比集中式&#xff08;svn&#xff09;分布式&#xff08;git&#xff09; 二、发展历史三、初始化配置3.1 配置文件3.2 配置内容 四、别名 一、…

基于卷积神经网络的乳腺癌分类 深度学习 医学图像 计算机竞赛

文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度&#xff0c;召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…

仅手机大小!极空间T2随身数据魔盒发布:既是NAS 又是U盘

今天极空间召开新品发布会&#xff0c;带来了极空间T2随身数据魔盒&#xff0c;售价1999元起。 极空间T2随身数据魔盒体积仅手机大小&#xff0c;充电宝可供电。既是个NAS&#xff0c;又是个U盘。 其具备双M.2插槽&#xff0c;可安装两块固态硬盘。4G内存支持docker&#xff0c…

Excel宏(VBA)自动化标准流程代码

自动化流程 我们对一个报表进行自动化改造会经历的固定流程&#xff0c;这里称为“流水线”&#xff0c;通常包含以下流程&#xff1a; 打开一个表格选择打开的表格选择表格中的Sheet选择Sheet中的单元格区域 &#xff08;有时候需要按条件筛选&#xff09;复制某个区域 粘贴…

互联网Java工程师面试题·Spring篇·第二弹

目录 3、Beans 3.1、什么是 spring bean&#xff1f; 3.2、spring 提供了哪些配置方式&#xff1f; 3.3、spring 支持集中 bean scope&#xff1f; 3.4、spring bean 容器的生命周期是什么样的&#xff1f; 3.5、什么是 spring 的内部 bean&#xff1f; 3.6、什么是 spri…

Linux下编译和安装ffmpeg

本文演示Centos下面如何编译和安装ffmpeg的过程&#xff0c; 一、ffmpeg的编译和安装 1、下载解压 wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz tar -zxvf ffmpeg-5.1.tar.gz2、进入压缩目录&#xff0c;编译编译和安装 cd ffmpeg-5.1./configure --prefix/usr…

酷开科技 | 酷开系统,为居家生活打开更精彩的窗口

电视在我们的日常生活中扮演着重要的角色。虽然&#xff0c;作为客厅C位的扛把子——电视的娱乐作用深入人心&#xff0c;但是&#xff0c;它的涵义和影响力却因我们每个人的具体生活环境而存在着种种差异&#xff0c;而我们的生活环境又受到我们所处的社会及文化环境的影响。 …

哈希索引(PostgreSQL 14 Internals翻译版)

概览 哈希索引提供了根据特定索引键快速查找tuple ID (TID)的功能。粗略地说&#xff0c;它只是一个存储在磁盘上的哈希表。哈希索引唯一支持的操作是根据相等条件进行搜索。 当一个值插入到索引中时&#xff0c;将计算索引键的哈希函数。PostgreSQL哈希函数返回32位或64位整…

SSM - Springboot - MyBatis-Plus 全栈体系(三十六)

第八章 项目实战 四、后台功能开发 3. 头条模块开发 3.1 登陆验证和保护 3.1.1 需求描述 客户端在进入发布页前、发布新闻前、进入修改页前、修改前、删除新闻前先向服务端发送请求携带 token 请求头后端接收 token 请求头后&#xff0c;校验用户登录是否过期并做响应前端根…

Openssl数据安全传输平台009:加密理论基础:哈希/非对称加密RSA/对称加密AES

文章目录 0. 代码仓库代码编译时候可能出现的错误 1. 哈希1.1 哈希算法的种类:1.2 使用的头文件1.3 哈希算法API1.3.1 详解md5 API1.3.2 sha1/sha224/sha256/sha384/sha512常用API 1.5 sha1代码测试1.4 在VS中添加预处理器定义1.5 哈希算法C代码封装的思路 2. 非对称加密RSA2.1…

uniapp 单选框以及多选框样式更改

radio以及checkbox默认样式不符合自身需求时&#xff0c;根据自身需求更改样式&#xff0c;以下是自身的示例&#xff1a; 单选&#xff1a; 多选&#xff1a; 由于uniapp自身包含了一套默认的样式&#xff0c;所以如果不想全局更改只想在某个单据页面使用的话&#xff0c;就…

Redis3.2.12版本服务器迁移

1.新机器更新yum源 yum -y update 2.新机器安装redis数据库 yum install redis 3.新机器下载fedora的epel仓库 systemctl enable redis 4.将旧机器上的/etc/redis.conf拷贝到新机器的/config目录下 scp -r -P22 redis.config root162.32.196.57:/config/redis.config 5.新机器启…

CentOS 编译安装TinyXml2

安装 TinyXml2 Git 源码下载地址:https://github.com/leethomason/tinyxml2 步骤1&#xff1a;首先&#xff0c;你需要下载tinyxml2的源代码。你可以从Github或者源代码官方网站下载。并上传至/usr/local/source_code/ 步骤2&#xff1a;下载完成后&#xff0c;需要将源代码解…

LrC 13 ACR 16:点颜色

Adobe Lightroom Classic 13&#xff08; 2023 年 10 月版&#xff09;及 Adobe Camera Raw 16 新增的点颜色 Point Color功能可以方便、精准地调整图像上的颜色。 LrC&#xff1a;修改照片/混色器/点颜色 Develop/Color Mixer/Point Color ACR&#xff1a;编辑/混色器/点颜色 …

希捷推出Exos系列24TB硬盘:配备增强型缓存 性能提高三倍

希捷推出了全新的Exos 24TB硬盘。其基于传统的CMR构建&#xff0c;为3.5英寸规格&#xff0c;转速为7200 RPM。 同时&#xff0c;Exos系列24TB硬盘拥有10片磁盘&#xff0c;每片磁盘的容量为2.4TB&#xff0c;是希捷存储密度最高的硬盘&#xff0c;适用于超大规模企业和数据中心…

最新Jn建站系统2.0 已集成各类源码 【附视频安装教程】

附视频安装教程|已集成各类源码 目前已集成的网站&#xff1a; 1.发卡网(最新) 2.代刷网(无需授权) 3. 博客网(自带模板) 4.易支付(稳定版) 5.个人导航网(简洁) 6.代理查询网 7.留言网 8.匿名网 9.表白墙(最新) 10.抽奖网 11.源码站 12.z-blog博客程序 13.织梦CM…

Ubuntu Linux下如何搭建并安装EDK2

本教程全程手动下载安装&#xff1a; 1、官网下载EDK2安装包(这里下载当前最新版) ---- 2023.10.23 网址&#xff1a;https://sourceforge.net/projects/edk2/files/UDK2015_Releases/UDK2015/UDK2015.Complete.MyWorkSpace.zip 2、解压 unzip UDK2015.Complete.MyWorkSpace…

Android 实现资源国际化(多语言)

目录 一、介绍 二、字符串资源 三、图片资源 四、日期和时间格式 五、其他 六、应用内切换语言 七、资源文件命名规则 一、介绍 Android国际化(多语言)是一种开发技术&#xff0c;旨在使Android应用程序能够在「不同语言和文化环境」下运行&#xff0c;并为用户提供本地…

vue3中使用vue3-pdf-app和使用浏览器内置的PDF插件浏览器PDF文件

文章目录 先准备一个PDF使用浏览器内置的PDF插件预览PDF在HTML中使用浏览器插件预览PDFVscode使用插件发布服务后直接通过URL地址访问PDF可使用的浏览器 在vue3项目中预览PDF文件vue3项目也是可以通过URL地址访问文件的vue3中使用浏览器内置的PDF插件预览PDF代码如下所示&#…