Uniapp Android原生插件开发

准备工作:

  • Android Studio 下载地址:Android Studio官网 OR Android Studio中文社区
  • 离线SDK下载:请下载2.9.8+版本的android平台SDK

1. 使用Andorid Studio 打开UniPlugin-Hello-AS项目

2. 切换至Project模式

3. 创建Andorid Libray名字自定义,设置API为19。

4.  将如下代码复制到build.gradle中,添加完毕后并点击右上角Sync Now进行同步。

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

5.  将避免混淆代码写入到consumer-rules.pro与proguard-rules.pro中

-keep public class * extends io.dcloud.feature.uniapp.common.UniModule{*;}

6. 创建HelloWorld文件并写入方法逻辑

        (1). package 步骤三中package name

        (2). 扩展方法必须加上@UniJSMethod (uiThread = false or true) 注解。UniApp 会根据注解来判断当前方法是否要运行在 UI 线程,和当前方法是否是扩展方法。

        (3). UniApp是根据反射来进行调用 Module 扩展方法,所以Module中的扩展方法必须是 public 类型。

package com.example.helloworld; // 此处是自己的包名
import android.widget.Toast;import io.dcloud.feature.uniapp.annotation.UniJSMethod;
import io.dcloud.feature.uniapp.bridge.UniJSCallback;
import io.dcloud.feature.uniapp.common.UniModule;public class HelloWorld  extends UniModule {// 加法运算@UniJSMethod(uiThread = false)public void mathAdd(int a,int b, UniJSCallback callback) {callback.invoke(a + b);}// 原生toast提示@UniJSMethod(uiThread = false)public void showToast(String msg, UniJSCallback callback) {Toast.makeText(mWXSDKInstance.getContext(),msg,Toast.LENGTH_SHORT).show();callback.invoke(msg);}}

7. 打包arr包 没有Tasks解决方案

8. 新建uniapp项目引入原生插件

        (1). 新建nativeplugins目录

        (2). 新建插件目录Chen-HelloWorld,子文件夹android并将release.aar放入。

        (3). 新建package.json文件文件描述并写入如下代码,  class格式为“包名+类名”。更多配置参考

{"name": "Chen-HelloWorld","id": "Chen-HelloWorld","version": "1.0.0","description": "PictureView","_dp_type": "nativeplugin","_dp_nativeplugin": {"android": {"hooksClass": "","plugins": [{"type": "module","name": "Chen-HelloWorld","class": "com.example.helloworld.HelloWorld"}],"integrateType": "aar","abis": []}}
}

9. 在manifest文件中引入本地andorid插件

10.  云打包Andorid自定义基座包。

 

11. 设置自定义基座启动

12. 使用Andorid原生插件,编写页面代码,链接Android手机真机运行即可。

<template><view class="content"><input type="number" v-model="a" /><input type="number" v-model="b" /><button type="default" @click="showtoast">showtoast</button><button type="default" @click="add">加法</button></view>
</template><script>// 引入插件let andoridModule = uni.requireNativePlugin('Chen-HelloWorld');export default {data() {return {a: 1,b: 2}},methods: {add(){andoridModule.mathAdd(this.a,this.b,(e)=>{andoridModule.showToast('A+B=' + e);});},showtoast(){andoridModule.showToast('hello world!',(e)=>{console.log('showToast reuslt:',e);});}}}
</script>
<style>.content { padding-top: 200rpx; }
</style>

参考链接:

1. Uniapp原生插件开发说明

2. uniapp安卓原生插件开发流程

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于CANN的AI推理最佳实践丨多路极致性能目标检测应用设计解密

当前人工智能领域&#xff0c;最热门的无疑是以ChatGPT为代表的各种“新贵”大模型&#xff0c;它们高高在上&#xff0c;让你无法触及。但在人们的日常生活中&#xff0c;实际应用需求最大的还是以Yolo模型为代表的目标检测“豪强”&#xff0c;它们每天都在以各种方式落地、应…

在神经网络中,牢不可破的锁可以隐藏看不见的门

来源&#xff1a;ScienceAI 编译&#xff1a;白菜叶 机器学习正在风靡。然而&#xff0c;即使像 DALLE 2 这样的图像生成器和像 ChatGPT 这样的语言模型成为头条新闻&#xff0c;专家们仍然不明白为什么它们工作得这么好。这使得很难理解它们是如何被操纵的。 例如&#xff0c;…

【简单实用框架】【十大排序算法直接调用】【可移植】

☀️博客主页&#xff1a;CSDN博客主页&#x1f4a8;本文由 萌萌的小木屋 原创&#xff0c;首发于 CSDN&#x1f4a2;&#x1f525;学习专栏推荐&#xff1a;面试汇总❗️游戏框架专栏推荐&#xff1a;游戏实用框架专栏⛅️点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;&#…

周鸿祎连任新一届全国政协委员 新任期将继续聚焦数字安全领域

1月17日&#xff0c;政协第十三届全国委员会常务委员会第二十五次会议通过中国人民政治协商会议第十四届全国委员会委员名单。其中&#xff0c;三六零(601360.SH&#xff0c;下称“360”)集团创始人周鸿祎再次连任全国政协委员。早在2018年&#xff0c;周鸿祎就以九三学社界别的…

linux性能监控命令dstat详解【杭州多测师_王sir】【杭州多测师】

dstat 命令是一个用来替换 vmstat、iostat、netstat、nfsstat 和 ifstat 这些命令的工具&#xff0c;是一个全能系统信息统计工具。与 sysstat 相比&#xff0c;dstat 拥有一个彩色的界面&#xff0c;在手动观察性能状况时&#xff0c;数据比较显眼容易观察&#xff1b;而且 ds…

2018LinuxCon,开源界的大咖们来了,赶紧行动!

​​​全球顶级开源盛会二度落地中国&#xff01; 很多人都期望有着牛顿的成功之道&#xff1a;我之所以能成功 &#xff0c;是因为我站在巨人的肩上。 但是&#xff0c;最为困惑的是&#xff1a;巨人在哪里&#xff1f; 参加2018年度的 LinuxCon ContainerCon CloudOpen …

和技术大咖们一起工作是怎样的体验?擎创招人进行时,你~要上车吗?

又是一年招聘季&#xff0c;职场的小伙伴&#xff0c;你是否正在看机会呢&#xff1f; 如果问你最想去哪里工作&#xff1f; 答案估计五花八门&#xff0c;大厂or创业公司&#xff1f; 当leader带人还是跟着大佬前进更快&#xff1f; 去技术驱动型公司上冲锋陷阵的前线还是…

Apache Flink 中文社区视频号上线!和大咖们线上见面~

▼ 关注「ApacheFlink」视频号&#xff0c;遇见更多大咖 ▼ 与时俱进&#xff0c;Flink 中文社区也拥有自己的视频号啦。在这里&#xff0c;你将可以遇见各路大咖&#xff0c;get 他们使用 Flink 的经验&#xff1b;还可以与全国各行各业的技术爱好者们相约评论区&#xff0c;分…

CXO和BATJ大咖们力荐的新书《推荐系统开发实战》出版派福利了!

经历近一年的时间&#xff0c;《推荐系统开发实战》终于在各大电商网站上线了&#xff0c;在这一年中&#xff0c;前半年是集中时间写稿&#xff0c;后半年则是修正&#xff0c;历时艰辛&#xff0c;但结果还是好的&#xff0c;终于等到了他——《推荐系统开发实战》。在此特别…

QCon 2019:云安全大咖们聚在一起都聊了啥?

5月6-8 日&#xff0c;QCon 全球软件开发大会&#xff08;北京&#xff09;2019在北京国际会议中心举办&#xff0c;100国内外资深技术大咖带来涉及 26热门领域的重磅议题分享。 大会第二天的“云安全攻与防”专题论坛上&#xff0c;腾讯安全云鼎实验室负责人董志强&#xff0…

2020 以太坊技术及应用大会·中国圆满落幕,大咖们的演讲精华都在这里了!

编辑 | 晋兆雨、Carol 2020年8月8日,【以太坊技术及应用大会中国】圆满结束&#xff0c;CSDN 创始人&董事长、极客邦创投创始人蒋涛、以太坊创始人Vitalik Buterin 、Unitimes、独角时代创始人姜英英、CSDN 副总裁、通证经济发起人孟岩、DeFi Labs创始人代世超、PChain 创始…

大咖们的15条产品方法论,你都知道吗?

在互联网流量红利阶段&#xff0c;中国的互联网行业蓬勃发展。产品经理作为互联网企业的「火车头」&#xff0c;在企业增长过程中承担了中坚位置。 产品经理岗位从形态不清晰&#xff0c;到今天大量的底层思维、方法论沉淀。群星闪烁&#xff0c;也积累了宝贵的行业及岗位财富。…

Cacti监控讲解

Cacti监控讲解 1、Cacti原理的概述 组件构成&#xff1a; 组合框架&#xff1a;LAP数据收集&#xff1a;SNMP 这个是简单的网络管理协议监控的必须使用的协议&#xff1b;SNMP Apache&#xff1a;web页面提供&#xff1b; 动态共享模块功能&#xff1b; 绘制图形&#xff1a…

不会真的有人看不懂 Linux 小白都能看懂的大数据入门(一) 图文

一、概述 1.1 Linux的历史 操作系统&#xff0c;英语Operating System简称为OS。说道操作系统就需要先讲一讲Unix&#xff0c;UNIX操作系统&#xff0c;是一个强大的多用户、多任务操作系统&#xff0c;支持多种处理器架构&#xff0c;按照操作系统的分类&#xff0c;属于分时…

我只是追个直播,结果被拉进大咖们的群面对面群聊……

这一切要从上世纪60年代讲起…… 20世纪60年代&#xff0c;阿帕网&#xff08;ARPANET&#xff09;将共享源代码、互相协作和开放通信的底蕴写入软件开发的基因中&#xff0c;为「开源」的概念奠定了基础。 1991 年 9 月 17 日&#xff0c;一位名为 Linus 的小伙子将自己写的新…

​最强全集,数据科学领域,那些你不能不知道的大咖们!

全文共8242字,预计学习时长24分钟 图源:Unsplash 是什么让数据科学成为一个性感的行业?当把海量数据注入到新兴行业中,并随之而涌现的大量令人兴奋的新技术。 如今,数据科学不再是纯抽象领域的代名词,而是随处可见。 从大型产业到学术研究,无不体现出社会对该专业领…

CXO和BATJ大咖们力荐的新书《推荐系统开发实战》发售了!

大家好&#xff0c;我是王老湿。老读者都知道&#xff0c;自从我毕业后&#xff0c;一直在做推荐系统相关的工作&#xff0c;想当初我在入门推荐系统的时候&#xff0c;由于当时并没有发现非常全面又不过时的相关书籍&#xff0c;所以学习的时候都是零零散散地来学习&#xff0…

520来 GitHub Copilot 开发者训练营,与技术大咖们约个会!

&#xff08;本文阅读时间&#xff1a;2分钟&#xff09; 官方研究显示&#xff0c;使用 GitHub Copilot 后&#xff1a; 90% 开发者表示可以更快地完成任务&#xff1b; 75% 开发者感到更有成就感&#xff1b; 73% 开发者能保持顺畅并节省精力。 看到这里的你&#xff0c;是不…

大咖们如何评判优秀架构师?

导语 | 成为一名优秀的架构师是很多开发者的梦想&#xff0c;但对很多人来说却欠缺一条可供参考的实现路径。「云社区沙龙online」邀请到腾讯云云服务器副总经理李力、贝壳金服小微企业生态CTO&腾讯云最具价值专家&#xff08;TVP&#xff09;史海峰、奈学教育科技创始人&a…

大咖们都在用的工具,你还不快看看?

上面这些师傅们都熟悉哪些&#xff1f;今天来简单介绍一些实用的工具 Nmap Nmap是一个网络扫描和主机检测工具&#xff0c;可以用于识别网络中的主机和服务&#xff0c;以及检查开放的端口、监督管理检修时间表、观察主机或管理的正常运行时间。Nmap被称为“网络管理员和安全审…