uni-app打包

uni-app打包方式目前有两种,云打包和本地打包,主要介绍本地打包,

开始使用打包之前,我们先看一下【 发行 】的工具栏,我们来简单介绍一下云打包与本地打包的区别:

原生APP-云打包:

    ① 通过官方在【云服务器】已经提供好的打包环境进行打包,简单方便快捷,适合新手入门;    ② 打包次数限制,1天只能打包【5次】,第六次需要收费(大概2¥一次)    ③ 打包时间长度不受控,高峰期排队时长可能需要 【几个小时】以上

原生APP-本地打包:

    ① 需要下载 Android Studio(Android 集成开发工具)配置环境,需要熟悉原生Android 开发,操作难度大,灵活性高;    ② 本地离线打包,不限制打包次数,完全免费;    ③ 打包时间受控,下载好离线SDK,配置好资源环境,无需排队;

云打包

  1. 用HBuilderX打开要打包的项目
  2. 选中项目列表中的项目右击选择发行=>原生App-云打包,弹出打包页面
  3. 到开发者中心生成证书
  4. 证书生成后下载下来,存到指定目录,然后在开发者中心选择需要打包项目=>我的应用=>证书管理=>证书详情中可查看别名密码
  5. 打包页面输入别名密码,选择下载好的证书,可以选择不要开屏广告,然后选择打包
  6. 最后会生成apk包,下载安装即可使用

本地打包

下载HBuilderX
下载地址

下载AndroidStudio
-下载地址

SDK下载地址
App离线打包SDK 下载

1. 生成本地打包资源


2. 下载Android Studio和App离线SDK

下载路径:https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android

3. 解压得到的目录如下

4. 使用Android Studio打开Android 离线SDK解压目录里面这个文件夹,这个是示例项目,我们只需要更改这个项目的一些配置,其他配置HBuilderX已经配置好了

5. 切换到Project


6. 打开apps目录,把目录下的文件夹删除,我的是__UNI__B,然后打开HBuilderX本地打包的资源目录,最后拷贝到示例项目的apps目录下,也就是刚刚__UNI__B的位置




把dcloud_control.xml文件里面的id属性值__UNI__B改成manifest.json里面的id值相同

7. 添加provider信息到Androidmanifest.xml的application节点中

在这个链接里面往下翻可以看到说明https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android
代码块贴出来了

<!--provider节点必须添加--><provider  android:name="io.dcloud.common.util.DCloud_FileProvider"  android:authorities="${apk.applicationId}.dc.fileprovider"  android:exported="false"  android:grantUriPermissions="true">  <meta-data      android:name="android.support.FILE_PROVIDER_PATHS"      android:resource="@xml/dcloud_file_provider" /></provider>

8. 这里的三个值相同



这里的值修改一致

9. 因为3.1.10版本起需要申请Appkey配置项目

打开开发者中心,选择对应的项目
开发者中心地址链接:

10. 点击编辑然后点击离线打包key管理,可以看到需要SHA1

11. 我们使用Android Studio生成


12. 可以看到示例项目已经有默认的配置,我们可以生成自己



13. 路径选择跟test.jks所以同一目录,并写上文件名字,后缀要是jks,我的是key.jks,然后保存。

14. 点击OK然后点击X关闭


15. 可以看到apps目录下已经有key.jks, 可以删除test.jks了

16. 然后填写配置的信息

17. 去key.jks目录下运行命令

18. 输入密码123456可以看到SHA1了


19. 复制SHA1到开发者中心,并且Android 包名要和build.gradle里面填写的一样

20. 保存,得到App Key复制到AndroidManifest.xml文件对应的位置

21. 点击build图标就可以进行打包了,完成✅

22. apk文件所在目录,拷贝到手机安装即可使用

文档参考

参考文章:
原文链接:https://blog.csdn.net/qq_40230735/article/details/123346723
https://blog.csdn.net/qq_41816742/article/details/120997498?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-3-120997498.pc_agg_new_rank&utm_term=appkey+is+not+configured+or+configured+incorrectly&spm=1000.2123.3001.4430

‘keytool’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。报错参考:
https://blog.csdn.net/qq_41842461/article/details/129021597

uni-app运行环境版本和编译器版本不一致的问题:
https://ask.dcloud.net.cn/article/35627