问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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 真机或模拟器。
  1. 确认当前模拟器或者真机支持的cpu类型,然后进行勾选,这里就是配置要打包的apk需要支持哪些cpu类型的手机,全要支持可以全支持。附:adb 查看安卓手机、模拟器、apk包所支持的 CPU 类型(armeabi、armeabi-v7a、arm64-v8a …)
    反正就是勾的越多,打的包越大,你可以测试时用哪个勾哪个,等发包了在根据需要支持的手机市场进行勾选。
  2. 测试项目正常运行后,则进行本地打包,获得编译后的源码。
  3. 看控制台,等待编译完成,去给出的目录找到编译后的源码。
  4. 替换离线打包工程中的源码
  5. 修改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中的版本号保持一致。
  • 签名配置,也就是证书相关信息
  1. 打开Uniapp 开发者后台,登录一下。
  2. 点击应用名称进入,找到Android云端证书,创建一个,稍微等待一下,需要刷新一下网页就能看到创建好的证书信息了,然后下载证书,放到HBuilder-Integrate-AS离线打包工程根目录。

  3. 复制证书的绝对路径,并替换配置中的证书路径
  4. 配置证书别名、密码
  5. 配置打包的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 离线生成自定义基座(官方文档)
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号