uni-app与原生插件混合开发调试1-环境准备

news2024/11/16 19:28:43

uni-app与原生插件混合开发调试系列文章分为3篇,分别详细讲了《环境准备》、《搭建uni-app本地开发调试环境》和《安卓原生插件开发调试和打包》,3篇文章完整详细地介绍了“从环境安装配置到本地开发调试到原生插件打包”整个流程。

相关名词和概念解释

安卓AndroidManifest.xml配置详解:AndroidManifest.xml详解 - 简书

uniapp简称uni,是dcloud旗下的产品,基于H5和vue,可用于开发各平台小程序,并且可以将开发的小程序跨平台打包,支持Android和iOS。

HBuilderX,H是HTML的首字母,Builder是构造者,X是HBuilder的下一代版本。我们也简称HX。 

HX是轻如编辑器、强如IDE的合体版本。

App离线SDK

是dcloud提供的用于在本地打包的SDK,其本质就是一个Android工程,下载之后导入到Android studio,再将uni-app打包的本地资源包复制到离线SDK工程,依托离线SDK运行。离线SDK实际上就是uni-app的套壳。

此外,离线SDK的作用是为了扩充uni-app的短板,很多uni-app无法直接调用的原生接口,可以用App离线SDK来开发原生插件,以此扩展原生能力。

本文参考文档:开发者须知 | uni小程序SDK

关于Android studio本地调试

uni-app开发的应用也可以用Android studio本地调试,步骤是先用hbuilderx把uni-app源码本地打包,这个包不是apk包,而是安卓的资源包,再将安卓的资源包整个目录copy到Android studio中的安卓工程的app模块内,再运行app模块。

原理:hbuilderx把uni-app源码打本地包后,html和js等前端代码会生成能够在jsvm环境运行的js源码。

环境准备

  • JAVA环境 jdk1.8

说明:uni-app离线SDK基于Java8,所以JDK1.8是整个环境的基础。

  • Android Studio 下载地址:Android Studio官网  Android Studio中文社区

说明:开发Android应用的IDE。

  • App离线SDK下载:请下载2.9.8+版本的android平台SDK

说明:App离线SDK指的是开发uni-app应用的SDK,不是Android compileSdk,本质是一个Android工程,用于用于套壳运行uni-app的Android工程。

  • HBuilderX 下载地址:官方下载地址

说明:HBuilderX即可以用于uni-app打本地Android资源包、APK云打包,也可以当作uni-app的编辑器。

条件准备

申请离线appkey

申请离线appkey包括两部分:生成签名证书 和 申请离线appkey

1、生成签名证书

dcloud官方文档:https://ask.dcloud.net.cn/article/35777

签名证书用jdk自带的工具keytool生成:

keytool -genkey -alias androidPluginKey -keyalg RSA -keysize 2048 -validity 36500 -keystore androidPluginKey.keystore

  • androidPluginKey是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
  • androidPluginKey.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
  • 36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期

回车后提示:

Enter keystore password:  //输入证书文件密码,输入完成回车  
Re-enter new password:   //再次输入证书文件密码,输入完成回车  
What is your first and last name?  
  [Unknown]:  //输入名字和姓氏,输入完成回车  
What is the name of your organizational unit?  
  [Unknown]:  //输入组织单位名称,输入完成回车  
What is the name of your organization?  
  [Unknown]:  //输入组织名称,输入完成回车  
What is the name of your City or Locality?  
  [Unknown]:  //输入城市或区域名称,输入完成回车  
What is the name of your State or Province?  
  [Unknown]:  //输入省/市/自治区名称,输入完成回车  
What is the two-letter country code for this unit?  
  [Unknown]:  //输入国家/地区代号(两个字母),中国为CN,输入完成回车  
Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?  
  [no]:  //确认上面输入的内容是否正确,输入y,回车  

Enter key password for <testalias>  
        (RETURN if same as keystore password):  //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以

以上命令运行完成后就会生成证书,路径为“C:\Users\\androidPluginKey.keystore”。

查看证书信息

可以使用以下命令查看:

keytool -list -v -keystore androidPluginKey.keystore Enter keystore password: //输入密码,回车

会输出以下格式信息:

复制代码Keystore type: PKCS12    
Keystore provider: SUN    

Your keystore contains 1 entry    

Alias name: test    
Creation date: 2019-10-28    
Entry type: PrivateKeyEntry    
Certificate chain length: 1    
Certificate[1]:    
Owner: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN    
Issuer: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN    
Serial number: 7dd12840    
Valid from: Fri Jul 26 20:52:56 CST 2019 until: Sun Jul 02 20:52:56 CST 2119    
Certificate fingerprints:    
         MD5:  F9:F6:C8:1F:DB:AB:50:14:7D:6F:2C:4F:CE:E6:0A:A5    
         SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7    
         SHA256: 24:11:7D:E7:36:12:BC:FE:AF:2A:6A:24:BD:04:4F:2E:33:E5:2D:41:96:5F:50:4D:74:17:7F:4F:E2:55:EB:26    
Signature algorithm name: SHA256withRSA    
Subject Public Key Algorithm: 2048-bit RSA key    
Version: 3

其中证书指纹信息(Certificate fingerprints):

  • MD5
  • SHA1
  • SHA256

注意:keytool工具生成的androidPluginKey.keystore 文件就是所谓的“证书”。

 申请appkey

申请appkey在dcloud官网申请,需要注册账号并实名认证,然后登录到开发者中心:

点击【我的应用】列表中的【应用名称】=》各平台管理=》新增:

填写包名、SHA1、MD5等:

包名(根据自己需要配置):com.xxx.xxx

填写完后【提交】,dcloud会在线生成appkey,回到【各平台信息】列表,点击查看:

如何获取已安装安卓app的签名

 参考:Android平台签名证书(.keystore)生成指南 - DCloud问答

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

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

相关文章

计算机网络面试TCP篇之TCP三次握手与四次挥手

TCP 三次握手与四次挥手面试题 任 TCP 虐我千百遍&#xff0c;我仍待 TCP 如初恋。 巨巨巨巨长的提纲&#xff0c;发车&#xff01;发车&#xff01; PS&#xff1a;本次文章不涉及 TCP 流量控制、拥塞控制、可靠性传输等方面知识&#xff0c;这些知识在这篇&#xff1a; TCP …

神州信息与国科量子联合进军量子网络应用服务市场(中国军民两用通信技术展览会)

量子通信&#xff0c;智联未来 —— 神州信息与国科量子共启安全通信新纪元 在信息技术飞速发展的今天&#xff0c;信息安全已成为全球关注的焦点。神州数码信息服务股份有限公司&#xff08;神州信息&#xff09;与国科量子通信网络有限公司&#xff08;国科量子&#xff09;…

PyCharm 2024.1最新变化

PyCharm 2024.1 版本带来了一系列激动人心的新功能和改进&#xff0c;以下是一些主要的更新亮点: Hugging Face 模型和数据集文档预览&#xff1a;在 PyCharm 内部快速获取 Hugging Face 模型或数据集的详细信息&#xff0c;通过鼠标悬停或使用 F1 键打开文档工具窗口来预览。 …

【数据结构】--栈

&#x1f44c;个人主页: 起名字真南 &#x1f923;个人专栏:【数据结构初阶】 【C语言】 目录 1 栈1.1 栈的概念和结构1.2 栈的实现1.2.1 头文件1.2.2 初始化1.2.3 销毁1.2.4 打印所有元素1.2.5 入栈1.2.6 出栈1.2.7 获取栈顶数据1.2.8 判空1.2.9 获取元素个数 1 栈 1.1 栈的概…

Element-UI 并排显示多个 disabled按钮的时候, 不生效问题解决

目录 Element-UI 并排显示多个 disabled按钮的时候&#xff0c; 不生效问题解决 解决方法&#xff1a; 运行结果&#xff1a; Element-UI 并排显示多个 disabled按钮的时候&#xff0c; 不生效问题解决 解决方法&#xff1a; Element-UI 并排显示多个 disabled按钮的时候&a…

测绘局内外网文件导入导出,怎样才能效率安全两手抓?

测绘局负责进行各种基础测绘工作&#xff0c;如地形测量、地籍测绘、海洋测绘等&#xff0c;获取并更新国家基础地理信息数据。这些数据是国民经济建设、城市规划、资源调查、环境保护等各个领域的重要基础资料。对于维护国家地理信息安全、促进国民经济和社会发展具有重要意义…

空间转录组学联合单细胞转录组学揭示卵巢癌生存相关受配体对

卵巢癌&#xff0c;作为女性生殖系统中的一种常见恶性肿瘤&#xff0c;其高级别浆液性卵巢癌&#xff08;HGSC&#xff09;亚型尤其致命。尽管多数患者对初次治疗反应良好&#xff0c;但超过75%的晚期HGSC患者会在治疗后复发&#xff0c;并且对化疗药物产生耐药性。然而&#x…

QT+winodow 代码适配调试总结(二)

已经好多年了&#xff0c; linux环境下不同版本的QT程序开发和部署&#xff0c;突然需要适配window环境程序调试&#xff0c;一堆大坑&#xff0c;还真是一个艰巨的任务&#xff0c;可是kpi下的任务计划&#xff0c;开始吧&#xff01;&#xff01; 1、首先我们自定义的动态库…

Python应用开发——30天学习Streamlit Python包进行APP的构建(10)

st.map 显示一张叠加了散点图的地图。 它是 st.pydeck_chart 的包装器&#xff0c;用于在地图上快速创建散点图表&#xff0c;并具有自动居中和自动缩放功能。 使用该命令时&#xff0c;Mapbox 会提供地图瓦片来渲染地图内容。请注意&#xff0c;Mapbox 是第三方产品&#x…

品牌窜货治理:维护市场秩序与品牌健康的关键

品牌在各个渠道通常都会设定相应的销售规则&#xff0c;其中常见的便是区域保护制度&#xff0c;比如 A 地区的货物只能在 A 地区销售&#xff0c;各区域的产品价格和销售策略均有所不同&#xff0c;因此 A 地区的货物不能流向 B 地区&#xff0c;否则就被称为窜货。 窜货现象不…

【PHP】控制摄像头缩放监控画面大小,并保存可视画面为图片

一、前言 功能描述 调用摄像头并可以控制缩放摄像头监控画面的大小&#xff0c;把可视画面保存为图片。 我使用的是USB摄像头&#xff0c;其他摄像头此方法应该也通用。 使用技术 使用到的技术比较简单&#xff0c;前端使用WebcamJS插件调用摄像头&#xff0c;并摄像头监控…

初识前端工程化

前端工程化 一、接口文档管理 YAPI二、前端工程化1、前端工程化介绍2、环境准备 三、Vue 项目创建&简介1、Vue 项目创建2、Vue 项目简介3、运行 Vue 项目 四、Vue 组件库 Element UI1、Elment UI 简介2、Element UI 入门 五、Vue 项目中使用 axios六、Vue 路由1、Vue 路由简…

一种基于优化信息频带的旋转机械故障诊断方法(MATLAB)

特征提取是滚动轴承故障诊断及状态监测的关键&#xff0c;直接关系到轴承状态预示及故障识别的准确性&#xff0c;也是轴承故障诊断中的研究热点。考虑到轴承故障冲击会导致振动信号的形态改变&#xff0c;进而引起相关统计参数的变化&#xff0c;所以通过振动信号计算的统计量…

上海高考志愿填报小程序开发的主要功能

6月毕业季&#xff0c;高考学子刚经历了激烈的高考角逐&#xff0c;又迎来了志愿填报的大关。面对影响一生的高考志愿&#xff0c;如何填报显得尤为重要&#xff0c;面对广大学子的填报需求&#xff0c;上海高考志愿填报小程序为高考学子带来了福音。 一&#xff0e; 上海高考…

低空经济:新蓝海的启航与eVTOL动力系统测试的前瞻探索

引言&#xff1a;低空经济的新时代篇章 ​在2023年的全国两会上&#xff0c;“低空经济”首次跃然于政府工作报告之中&#xff0c;标志着这一新兴产业正式步入国家发展战略的核心舞台。工业和信息化部、科学技术部、财政部与中国民用航空局联合发布的《通用航空装备创新应用实…

小区物业管理收费系统源码小程序

便捷、透明、智能化的新体验 一款基于FastAdminUniApp开发的一款物业收费管理小程序。包含房产管理、收费标准、家属管理、抄表管理、在线缴费、业主公告、统计报表、业主投票、可视化大屏等功能。为物业量身打造的小区收费管理系统&#xff0c;贴合物业工作场景&#xff0c;轻…

【微前端-Single-SPA、qiankun的基本原理和使用】

背景 在实际项目中&#xff0c;随着日常跌倒导致的必然墒增&#xff0c;项目会越来越冗余不好维护&#xff0c;而且有时候一个项目会使用的其他团队的功能&#xff0c;这种跨团队不好维护和管理等等问题&#xff0c;所以基于解决这些问题&#xff0c;出现了微前端的解决方案。…

FFmpeg教程-二-代码实现录音

目录 一&#xff0c;实现步骤 二&#xff0c;具体实现 1&#xff0c;注册设备 2&#xff0c;获取输入格式对象 3&#xff0c;打开设备 4&#xff0c;采集数据 一&#xff0c;实现步骤 二&#xff0c;具体实现 1&#xff0c;注册设备 // 初始化libavdevice并注册所有输入…

Java版本Spring Cloud+SpringBoot b2b2c:Java商城实现一件代发设置及多商家直播带货商城搭建

一、产品简介 我们的JAVA版多商家入驻直播带货商城系统是一款全*面的电子商务平台&#xff0c;它允许商家和消费者在一个集成的环境中进行互动。系统采用先进的JAVA语言开发&#xff0c;提供多商家入驻、直播带货、B2B2C等多种功能&#xff0c;帮助用户实现线上线下的无缝对接…

M Farm RPG Assets Pack(农场RPG资源包)

🌟塞尔达的开场动画:风鱼之歌风格!🌟 像素参考:20*20 字体和声音不包括在内 资产包括: 1名身体部位分离的玩家和4个方向动画: 闲逛|散步|跑步|持有物品|使用工具|拉起|浇水 6个带有4个方向动画的工具 斧头|镐|喙|锄头|水壶|篮子 4个NPC,有4个方向动画: 闲逛|散步 �…