uniapp调用jar
前言
此方法为使用uniapp开发前端资源,然后继承进安卓原生项目,达到调用uniapp调用jar的效果。
基于Android Studio进行开发。
本人不懂安卓以及gradle,只是基于搜索引擎以及官方文档得出以下步骤,如果错误或改进之处,望告知。以下步骤亲测可用。
项目搭建
此处可以参考官方文档,说的很详细了
初始项目是通过对官方demo进行裁剪获得(个人尝试过新建项目,未遂)
下载官方demo
导入UniPlugin-Hello-AS项目
删除官方demo模块
官方模块总共有3个(uniplugin_component、uniplugin_module、uniplugin_richalert)
解除模块绑定关系
菜单File -- Project Structure -- Modules

删除模块代码以及uniapp示例工程源码

删除插件的注册
参考官方说明
清空dcloud_uniplugins.json文件中nativePlugins节点下所有内容
删除插件引用
app包下的build.gradle文件
// 删除这三块
implementation project(':uniplugin_component')
implementation project(':uniplugin_module')
implementation project(':uniplugin_richalert')
删除混淆文件多余配置
修改app包下proguard-rules.pro文件
删除末尾的
-keep class uni.** {*;}
uniapp插件开发
uniapp前端项目
使用Hbuilder X新建uniapp测试项目(Hbuilder下载地址)
类型选择uni-app 默认模板
index.vue新增测试按钮
<template>
<view class="content">
<div>
<button type="primary" @click="testSyncFunc">testSyncFunc</button>
</div>
</view>
</template> <script>
// 获取 module
var testModule = uni.requireNativePlugin("TestModule")
export default {
onLoad() { },
methods: {
testSyncFunc() {
// 调用同步方法
var ret = testModule.testSyncFunc({
'name': 'unimp',
'age': 1
})
}
}
}
</script>
打包
菜单 发行 -- 原生APP-本地打包 -- 生成本地打包app资源
到控制台输出的导出路径中,找到resource目录下的文件夹(文件夹名字就是appid),后面有用
插件后端开发
新增Module
在Android Studio中,右击项目名称 -- New -- Module,选择Android Library
按照官方文档修改build.gradle以及新建UniModule(链接)
修改混淆文件
修改app包下proguard-rules.pro
dependencies标签里添加implementation project(':xxx')
xxx就是第一步新建的Module的名字
引用插件
修改app包下的build.gradle
注册插件
dcloud_uniplugins.json文件中nativePlugins
配置
生成Android平台签名证书(链接)
生成uniapp离线打包key(参考链接)
Android包名在在app包下的AndroidManifest.xml中最前面可以找到,默认是com.HBuilder.UniPlugin
填写APPID
app包下的AndroidManifest.xml搜索android:value
配置安卓证书
app包下build.gradle → signingConfigs
将第一步生成的证书文件(.keystore、.jks)放到app目录下
插件调试
将uniapp前端项目打包生成的资源替换到app -- src -- main -- assets -- app 中
修改app -- src -- main -- assets -- data -- dcloud_control.xml中的appid
最后
写了半天,还是没有说怎么调用jar包。原生安卓项目怎么用jar就怎么用。
运行项目进行测试吧
uniapp调用jar的更多相关文章
- Unity调用Android的两个方式:其一、调用jar包
unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...
- Loadrunner11.0调用Jar包
又好几天不写东西了,是不是意味着最近没有大的进步,时时敲打自己. 今天把loadrunner如何调用Jar包搞定了,现在把配置的过程中需要注意的东西写下来,分享给小伙伴儿,减少他们在前行路上的弯路. ...
- Python 的 JPype 模块调用 Jar 包
背景与需求 最近学习并安装使用了HttpRunner框架去尝试做接口测试,并有后续在公司推广的打算. HttpRunner由Python开发,调用接口时需要依赖Python:而大多数公司的扩展工具包使 ...
- html实现调用jar包
整体思路:html引用URL protocol-本地注册表key,key对应某一c#写的exe可执行文件,由exe可执行文件调用cmd,cmd执行jar包. 1.添加注册表: Windows Regi ...
- winform调用jar包
因为工作需要,需要做一个数据上传的程序,客户规定的是:数据接口采用http连接,采用JSON-RPC轻量级远程调用协议.所以决定用winform做一个管理界面(其中还包括其他的功能),java完成数据 ...
- (转载)Python 的 JPype 模块调用 Jar 包
Python 的 JPype 模块调用 Jar 包 背景与需求 最近学习并安装使用了HttpRunner框架去尝试做接口测试,并有后续在公司推广的打算. HttpRunner由Python开发,调用接 ...
- Python调用jar包中的方法
[本文出自天外归云的博客园] 需求 最近在后台项目代码中一段自定义的AES加解密的程序在平时的测试工作中应用频繁.因为写脚本经常会需要使用,而经过各种尝试,比如jpype等,都不尽如人意.最后转换思路 ...
- 如何制作Jar包并在android中调用jar包
android制作jar包: 新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在java file specification 中不要选择androidmani ...
- NodeJS调用jar包
我们在实际的生产.开发实践中,其实要和许多第三方服务商进行打交道,这其中包括使用他们提供的批量与联机服务,但与别的互联网企业不大相同的是,银行作为传统企业,其一贯重视安全性,许多在互联网企业看似理所当 ...
随机推荐
- 2022年5月11日,NBMiner发布了41.3版本,在内核中加入了100%LHR解锁器,从此NVIDIA的显卡再无锁卡一说
2022年5月11日,NBMiner发布NBMiner_41.3版本,主要提升了稳定性. 2022年5月8日,NBMiner发布NBMiner_41.0版本,在最新的内核 ...
- 五、redis哨兵两套环境同一局域网容灾切换问题
上周遇到个灵异事件,实验室有两套环境来搭建redis集群和哨兵,分别是: 第一套环境IP:67(master) 65(salve) 66(salve)第二套环境IP:115(master) 116(s ...
- 安装Tomcat到Linux(源码)
运行环境 系统版本:CentOS Linux release 7.3.1611 软件版本:Tomcat-9.0.11 硬件要求:无 安装过程 1.安装YUM-EPEL存储库 YUM-EPEL存储库由E ...
- AMS 新闻视频广告的云原生容器化之路
作者 卓晓光,腾讯广告高级开发工程师,负责新闻视频广告整体后台架构设计,有十余年高性能高可用海量后台服务开发和实践经验.目前正带领团队完成云原生技术栈的全面转型. 吴文祺,腾讯广告开发工程师,负责新闻 ...
- CF335E Counting Skyscrapers 题解
提供一种最劣解第一且巨大难写的做法( Bob 显然真正的楼量可以达到 \(314!\),是没办法直接做的,再加上唯一方案的样例,可以猜测有简单的结论. 考虑当楼高度为 \(k(k<h)\) 时, ...
- 『忘了再学』Shell基础 — 30、sed命令的使用
目录 1.sed命令说明 2.行数据操作 (1)查看文件中的数据 (2)删除文件中的数据 (3)向文件中追加数据 (4)向文件中插入数据 (5)修改文件中的多行数据(删除,追加,插入) (6)替换文件 ...
- Markdown常见基本语法
标题 -方式一:使用警号 几个警号就是几级标题,eg: # 一级标题 -方式二: 使用快捷键 ctrl+数字 几级标题就选其对应的数字, eg: ctrl+2(二级标题) 子标题 -方式一: 使用星号 ...
- 前端学习 linux —— 第一篇
前端学习 linux - 第一篇 本文主要介绍"linux 发行版本"."cpu 架构"."Linux 目录结构"."vi 和 v ...
- DDos、CC攻击与防御
DDoS介绍 DDoS是英文Distributed Denial of Service的缩写,意即"分布式拒绝服务",那么什么又是拒绝服务(Denial of Service)呢? ...
- JAVA设计模式总结—建造者模式
建造者模式 模式动机与定义 首先建造者模式的动机是为了创建复杂对象,简化传统的创建方法,提高创建的效率和可读性. 像图中的这个例子,用户的需求是驾驶一辆汽车,但是对于用户来说是不需要了解汽车装 ...