uniapp使用安卓原生插件(包含插件带第三方jar)
前言:
为了公司需要uniapp引用一个第三方的jar包实现相关功能,只好用安卓封装这个第三方jar包,然后自己将api封装实现,再暴露给uniapp使用。
第一次研究安卓,若有啥不对的,或者写得不好的地方,请大家指正,努力学习,一直进步。
一、安装相关工具和环境
1、jdk1.8环境(略)
2、Android studio官网下载 或者 Android Studio中文社区
3、Android studio安装教程
4、最新Android离线SDK下载
5、自有证书生成
二、开发
- 安装好android studio后,导入离线SDK中
UniPlugin-Hello-AS
安卓项目
2. 菜单中File–>Open,打开之前下载的SDK中的UniPlugin-Hello-AS
导入后,等待下载相关依赖,根据提示去补全sdk。确认没有错误后即可。
三、构建组件
在项目根目录右击new——>Module——>Android Library——>next
到此创建完成。
1)先编辑组件目录的build.gradle文件。在最后面找到dependencies节点,修改内容
dependencies {compileOnly fileTree(dir: 'libs', include: ['*.jar'])compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar']) implementation 'androidx.appcompat:appcompat:1.3.0'implementation 'com.google.android.material:material:1.4.0'testImplementation 'junit:junit:4.13.2'androidTestImplementation 'androidx.test.ext:junit:1.1.3'androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
2)在src–>main–>java中,新建Java类,继承io.dcloud.feature.uniapp.common.UniModule
,然后就可以在里面写自己的业务逻辑啦。
3)在app模块的assets中的dcloud_uniplugins.json文件中,注册组件
4)在app模块下添加新建的组件
四、添加第三方jar包
1、将jar包拷贝到libs目录下
2、右键添加jar包Add as Library…
3、在之前的java类中封装第三方jar包
4、封装好方法后,在右侧的Gradle双击assembleRelease进行打包
5、在build的output中的aar目录下生成了arr包
6、新建HBuild X 项目
7,编辑pages下的index中的index.vue文件
<template><view class="content"><view class="button1"><button @click="showToast(message)">直接显示</button></view><view class="button2"><button @click="processData(waitprocessdata)">回调</button></view><view class="button3"><button @click="encoder(encoderStr)">编码字符串</button></view><view class="button4"><button @click="decoder()">解码字符串</button></view></view>
</template><script>const ToastPlusModule = uni.requireNativePlugin("toastPlusTest")export default {data() {return {message: '我是直接显示的数据',waitprocessdata: '我是待处理的数据',decoderStr: "",encoderStr: "我是一个被编码和解码的数据"}},onLoad() {},methods: {encoder(data) {console.log("23132213")ToastPlusModule.encoder(data, res => {console.log("1111111")this.decoderStr = resuni.showToast({title: "编码数据--->" + res,icon: 'none',duration: 2000});})},decoder() {ToastPlusModule.decoder(this.decoderStr, res => {uni.showToast({title: "解码数据-->" + res,icon: 'none',duration: 2000});})},showToast(message) {ToastPlusModule.showToast(message)},processData(data) {ToastPlusModule.processData(data, res => {ToastPlusModule.showToast(res)})}}}
</script><style>.button1 {display: flex;margin-top: 200rpx;margin-left: auto;margin-right: auto;flex-direction: column;align-items: center;justify-content: center;}.button2 {display: flex;flex-direction: column;align-items: center;justify-content: center;margin-top: 100rpx;margin-left: auto;margin-right: auto;margin-bottom: 50rpx;}.button3 {display: flex;flex-direction: column;align-items: center;justify-content: center;margin-top: 100rpx;margin-left: auto;margin-right: auto;margin-bottom: 50rpx;}.button4 {display: flex;flex-direction: column;align-items: center;justify-content: center;margin-top: 100rpx;margin-left: auto;margin-right: auto;margin-bottom: 50rpx;}
</style>
8、在uniapp项目中新增文件结构如下
9、将android studio中生成的aar包放入android目录中,并新建package.json文件内容如下
{"name": "toastPlusTest", //这是插件的名称"id": "toastPlusTest", //插件的唯一标识,与下方的plugins中的name一致"version": "1.0.0", //版本号"description": "原生Toast", //描述"_dp_type":"nativeplugin","_dp_nativeplugin":{"android": {"plugins": [{"type": "module", //类型"name":"toastPlusTest", //名称,与上方的id一致即可"class": "com.haxk.uniapptest.ToastPlus" //class路径}],"integrateType": "aar" } }
}
10、设置manifest.json的基础配置,并添加原生插件配置
11、然后自定义基座打包
然后将得到的.apk文件安装在手机上,就可以测试uniapp调用android原生开发的插件(包含调用第三方的插件)
12、拓展,将uniapp直接植入android中运行查看效果
1、在开发者中心去申请appkey
2、将生成的appkey加入app模块的AndroidManifest.xml文件中
3、将项目生成本地资源
4、将打好的包放入app模块中的apps下(注意appid)
5、修改dcloud_control.xml中的appid
6、修改app模块中的build.gradle中的证书信息
五、注意事项
1、Gradle版本设置
2、http Proxy设置
3、Android SDK设置
4、注意主项目下的build.gradle中gradle版本和android版本一致
5、模块中的配置
6 、右侧的gradle中无tasks
然后同步等待
uniapp使用安卓原生插件(包含插件带第三方jar)相关推荐
- Uniapp——使用安卓原生插件
Uniapp--使用安卓原生插件 1. 开发环境 2. 解压SDK压缩包 3. 导入UniPlugin-Hello-AS项目.并切换为project显示 4. 可删除提供的demo文件 5. 新建mo ...
- uniapp 调用安卓原生插件 安卓原生又调用了第三方sdk(第三方原生开发的aar怎么转成uni可以使用的aar)
最近在做一个关于uniapp的项目,遇到一个需求.有一个原生开发的aar的原生插件,不是插件市场的,开发说明原生开发的插件不可以直接提供给uniapp使用,需要按照uniapp原生插件开发文档重新制作 ...
- uniapp引入支付宝原生扫码插件步骤详解
1.插件市场导入插件 支付宝原生扫码插件地址 点击购买(0元)云打包 选择需要导入的项目 选择安卓版本默认以uni-app应用标识 生成的包名 2.阿里云操作 开通阿里云 mPaaS 地址 创建一个应 ...
- Eclipse安装低版本4.3并安装FatJar打包插件来打包引用第三方jar包的项目成jar包
场景 Eclipse中打包引用了第三方jar包的Java Application项目,除了添加MANIFESE.MF文件,还可以使用 Fat Jar插件打成jar包. 但是Eclipse的版本在4.3 ...
- 【TTS】uni-app语音播报app开发 / MT-TTS安卓原生自带语音合成插件(免费无限次)
什么是TTS? TTS是Text To Speech的缩写,即"从文本到语音",是人机对话的一部分,让机器能够说话.TTS是语音合成应用的一种. 在程序开发中,有很多TTS的插件, ...
- uniapp ios原生插件开发之插件包格式(package.json)
文章目录 一.前言 二.插件包格式介绍 2.1 package.json 2.2 iOS 插件包配置 plugins integrateType 依赖资源文件 resources embedSwift ...
- uniapp使用原生小程序插件
本文主要讲述在uniapp上使用原生插件步骤 1.在使用插件之前,先登录微信公众平台,在微信公众平台,点击左下角设置==>插件管理==>添加插件==>输入插件名字==>点击确定 ...
- Uniapp Android 佳博 小票打印机 插件
Uniapp Android 佳博 小票打印机 插件 Uniapp Android 佳博小票打印机插件: 支持图片.条型码.二维码 打印. 1. 实例化插件 const gp= uni.requir ...
- uniapp微信小程序图片裁剪插件,支持自定义尺寸、定点等比例缩放、拖动、图片翻转、剪切圆形/圆角图片、定制样式
qf-image-cropper2.0 图片裁剪插件 1.效果预览: 2.平台支持: 1.支持微信小程序(移动端.PC端.开发者工具) 2.H5平台(2.1.0版本起) 3. 支持APP平台(2.1. ...
最新文章
- SAP LSMW 因物料描述里有换行符或者引号导致数据导入失败
- Visual C++ 2011-6-6
- Android XML使用的学习记录
- 幅度调制信号 matlab,《利用MATLAB实现信号的幅度调制与解调.doc
- java需要转go吗,【Java转Go】弄清GOPATH
- 为什么现在好多年轻人连1万都掏不出来,却觉得100万很少?
- libpng warning: iCCP: known incorrect sRGB profile
- 美赛建模需要matlab吗,美赛(matlab自学)之微分方程建模
- openstack 报错
- python tkinter button_Python3 Tkinter-Button
- MVC自定义路由的配置,必须把自己的路由写在前面
- 彻底删除dll文件,填坑!
- 计算机telnet命令大全,telnet 命令使用方法详解,telnet命令怎么用
- 微信公众号内推送模板消息
- stm32波特率计算
- win10系统mysql重新配置密码
- 【oracle工具】plsqldev美化规则文件详细解释(关键字大写,标识符小写等规则)
- 搭建ruby + jekyll + github pages
- Linux上安装oracle19c客户端,Oracle 19c的下载和安装部署(图形安装和静默安装)
- 手机基站伪装潜伏引强烈关注