Uniapp Android 本地离线打包(详细流程)
创作时间:
作者:
@小白创作中心
Uniapp Android 本地离线打包(详细流程)
引用
CSDN
1.
https://blog.csdn.net/zz00008888/article/details/143777363
Uniapp是一种跨平台开发框架,支持同时开发iOS和Android应用。对于开发者来说,掌握本地离线打包的流程非常重要,不仅可以避免云打包的排队和次数限制,还能更好地开发原生插件。本文将详细介绍Uniapp在Android平台上的本地离线打包流程,包括准备工作、创建测试项目、离线工程调整以及试跑和自定义基座打包等步骤。
一、简介
- App离线SDK暂时不支持Kotlin,未来情况未知。
- uniapp提供了云打包与本地打包两种方案,云打包需要排队且有次数限制,而本地打包则没有这些限制,且对开发原生插件有很大帮助。
- 细节:使用Android Studio打包时,记得先通过工具栏的Build -> Clean Project -> Rebuild Project -> 最后打包或运行,这套流程适用于生成基座或测试离线包。
二、准备工作
- 按照官方文档中的开发环境下载好开发工具与SDK工程。注意:HBuilder X 3.5.0及以上版本新增库breakpad-build-release.aar,3.8.7及以上版本新增库install-apk-release.aar,上架谷歌应用市场不能包含此库。
- 下载的Android工程目录结构介绍,找到HBuilder-Integrate-AS离线打包工程,可以拷贝出来使用Android Studio打开该工程。
- 打开工程后,先按Android 老项目新人如何快速入手跑起来这篇文章快速的配置一下基础环境。
- 如果跑出下面这样的结果,非报错都先不要管,警告随他先。
- 如果需要重新编译项目可以在这里进行,或者使用Build工具栏里面刷新按钮也是一个效果。
三、创建 Uniapp 测试项目
- 使用HBuilderX或Cli创建一个测试项目demo,然后运行到测试机或者模拟器。附:Uniapp 运行到 Android 真机或模拟器。
- 确认当前模拟器或者真机支持的cpu类型,然后进行勾选,这里就是配置要打包的apk需要支持哪些cpu类型的手机,全要支持可以全支持。附:adb 查看安卓手机、模拟器、apk包所支持的 CPU 类型(armeabi、armeabi-v7a、arm64-v8a …)
反正就是勾的越多,打的包越大,你可以测试时用哪个勾哪个,等发包了在根据需要支持的手机市场进行勾选。 - 测试项目正常运行后,则进行本地打包,获得编译后的源码。
- 看控制台,等待编译完成,去给出的目录找到编译后的源码。
- 替换离线打包工程中的源码
- 修改dcloud_control.xml文件里面的appid,其实离线资源文件夹名称就是appid,可以核对下免得出错。
四、离线工程的调整
- 代码导入后,需要进行一些离线打包工程上的细节调整。
- 包名替换,例如com.dzm.test
- [可选]compileSdkVersion修改,compileSdkVersion 30是Android项目中的一个配置项,定义了编译时使用的 Android API 级别(即Android SDK版本),表示你正在使用API级别 30(对应Android 11,即Android 11)。
- 版本号修改,跟HBuilderX -》manifest.json中的版本号保持一致。
- 签名配置,也就是证书相关信息
- 打开Uniapp 开发者后台,登录一下。
- 点击应用名称进入,找到Android云端证书,创建一个,稍微等待一下,需要刷新一下网页就能看到创建好的证书信息了,然后下载证书,放到HBuilder-Integrate-AS离线打包工程根目录。
- 复制证书的绝对路径,并替换配置中的证书路径
- 配置证书别名、密码
- 配置打包的apk需要支持的cpu类型
ndk {
abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a'
}
- 申请Appkey,如果没有则需要申请一下,有则可以直接拷贝,需要前往Uniapp 开发者后台:
点击新增后,需要填的资料中包名按上面的一样,版本可以根据情况来,创建正式与测试两个切换使用,Android 应用签名SHA1值与Android 应用签名SHA256值在上面的证书详情中有,拷贝贴过来即可。其他根据需要可填可不填。
然后创建一个AppKey并拷贝:
将AppKey配置到离线工程中:
这个文件顶部的包名也要改一下,保持同步: - 配置图标,不同分辨率可以按官方文档上的,多建几个文件夹配置。
- 配置应用名称,需要保持一致
五、离线工程试跑
- 创建好虚拟机,点击调试项目
如果报错Execution failed for task ‘:simpleDemo:stripDebugDebugSymbols’. NDK at /Users/dengzemiao/Library/Android/sdk/ndk-bundle did not have a source.properties file点这里。 - 解决问题再次点击调试按钮,项目跑成功了,如果uniapp重复打包导入项目后,最新内容没生效,可以删掉模拟器上安装好的包,重新运行安装一下。
六、离线自定义基座打包
- Uniapp Android 离线生成自定义基座(详细流程)
- Uniapp Android 离线生成自定义基座(官方文档)
热门推荐
这4种维生素补多了可能致癌,别再乱补了
项目合同管理:从制定到执行的全方位指南
您有职业倦怠吗?教您摆脱“职业倦怠”助您找回动力!
粉刺、闭口、痘痘……这些都是痤疮吗?
玉米笋是什么?玉米笋和玉米的区别
完整版:基准统一与基准重合的关系
农村宅基地申请条件及批复有效期详解
个体工商户营业执照更名全攻略:所需手续及材料清单
青光眼是啥?看东西变成青色吗?还是眼睛变成青色?
从勇气到卓越:解读铁十字勋章的历史与文化
什么是权利处理程序
宝可梦大集结哪个精灵最厉害 t0级强力宝可梦推荐
当有人被烧伤时以最快速度用冷水冲洗烧伤部位有用吗
Nature子刊最新综述:甲状腺结节的诊断和治疗
如何确定Docker能不能联网
项目管理ROI怎么算?从成本到收益的全面解析
烟花爆竹出口的手续规定与检验流程
法院如何判断合同无效
小孩晚上尿床是什么原因
萍乡经开区对校外培训机构开展消防安全检查
《成全》在线观看第14集:剧情反转与人物情感的深度解析
插电混动车适合跑长途吗?
一般纳税人和小规模纳税人销售额标准与免税政策解析
怎样在PPT中启用演讲者视图功能?
从法规到实操:HR必学的工伤管理全流程解析(附数字化解决方案)
废旧笔记本台式机秒变家庭服务器!刷飞牛OS系统,焕发第二春!
手持激光焊接机的安全使用指南
CS资讯|EPL S21参赛队伍、赛制、奖池一览
中国研发的六代机恐不止一款?歼20一夜之间成昨日黄花
2025年开光吉日的文化背景 开光在民间的信仰