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包
我们在实际的生产.开发实践中,其实要和许多第三方服务商进行打交道,这其中包括使用他们提供的批量与联机服务,但与别的互联网企业不大相同的是,银行作为传统企业,其一贯重视安全性,许多在互联网企业看似理所当 ...
随机推荐
- muduo源码分析之muduo简单运用
今天不先实现muduo项目,我们先来看下muduo库的基本使用,只有了解了如何用,才能在写代码的时候知道自己写的找个函数是干嘛的,实际上是怎么使用的这个函数.首先说简单点,就是定义一个Server,设 ...
- python之部分内置函数与迭代器与异常处理
目录 常见内置函数(部分) 可迭代对象 迭代器对象 for循环内部原理 异常处理 异常信息的组成部分 异常的分类 异常处理实操 异常处理的其他操作 for循环本质 迭代取值与索引取值的区别 常见内置函 ...
- column-文本对齐输出
文本输出对齐,可以指定对应的分隔符,将上下文的字符串按分隔符列对齐. 语法 column [选项] 选项 -s 设置分隔符,默认为空格. -t 判断输入的列数来创建一个表,使列对齐. -c 设置显示的 ...
- 造个海洋球池来学习物理引擎【Three.js系列】
github地址:https://github.com/hua1995116/Fly-Three.js 大家好,我是秋风.继上一篇<Three.js系列: 游戏中的第一/三人称视角>今 ...
- 配置中心的设计-nacos vs apollo
简介 前面我们分析了携程的 apollo(见 详解apollo的设计与使用),现在再来看看阿里的 nacos. 和 apollo 一样,nacos 也是一款配置中心,同样可以实现配置的集中管理.分环境 ...
- 2021.02.27【NOIP提高B组】模拟 总结
T1 欧拉筛质数时若 \(i\) 是质数且没有被用过就顺便用于计算结果,复杂度 \(O(n)\) #include<bits/stdc++.h> using namespace std; ...
- FlinkSQL 之乱序问题
乱序问题 在业务编写 FlinkSQL 时, 非常常见的就是乱序相关问题, 在出现问题时,非常难以排查,且无法稳定复现,这样无论是业务方,还是平台方,都处于一种非常尴尬的地步. 在实时 join 中, ...
- App自动化之dom结构和元素定位方式(包含滑动列表定位)
900×383 38 KB 先来看几个名词和解释: dom: Document Object Model 文档对象模型 dom应用: 最早应用于html和js的交互.界面的结构化描述, 常见的格式为h ...
- iNeuOS工业互联网操作系统,增加搜索应用、多数据源绑定、视图背景设置颜色、多级别文件夹、组合及拆分图元
目 录 1. 概述... 2 2. 搜索应用... 2 3. 多数据源绑定... 3 4. 视图背景设置颜色... 4 5. 多级别文件夹 ...
- 打字速度单位WPM、KPM定义与计算方法
国际通行的打字速度单位是WPM,用来量度打字速度的快慢.另外还有相关的KPM.CPM.KPH等打字速度单位,下面一一介绍. ----WPM------------------------------- ...