最新使用uniapp本地打包APP安卓,已排坑

Posted Amodoro

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最新使用uniapp本地打包APP安卓,已排坑相关的知识,希望对你有一定的参考价值。

uniapp打包IOS!!!

1. 生成本地打包资源


2. 下载android Studio和App离线SDK

导航路径:https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android

下载的Android 离线SDK与本地开发工具版本对应

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配置项目

打开开发者中心,选择对应的项目
开发者中心https://dev.dcloud.net.cn/app/index?type=0

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目录下运行命令

keytool -list -v -keystore key.jks

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


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

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

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

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

报错

An exception occurred applying plugin request [id: ‘com.android.application‘]

Failed to apply plugin ‘com.android.internal.application’.
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
You can try some of the following options:

  • changing the IDE settings.
  • changing the JAVA_HOME environment variable.
  • changing org.gradle.java.home in gradle.properties.

是因为本地系统安装的是Java 1.8,去下载Java 11安装就好了

java -version 查看java版本

排坑所用到的所有文档参考

官方本地打包app说明:
https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android

官方配置Appkey说明:
https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey

参考文章:
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

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

uniapp离线打包apk - 安卓篇

效果图

汇总

AndroidStudio离线打包配置汇总_Rudon滨海渔村的博客-CSDN博客完整教程 https://blog.csdn.net/qq285744011/article/details/126649091离线打包配置: 资源来自:UNI-APP安卓本地打包详细教程(保姆级)_高级API调用攻城狮的博客-CSDN博客_uniapp本地打包UNI-APP安卓本地离线打包图文详解保姆级教程https://blog.csdn.net/PIOnly/article/details/125196697... 4)生成本地打包APP资源打开最新版HBuilderX,点击界面上方的发https://blog.csdn.net/qq285744011/article/details/127100859

步骤

================================
准备工作
================================

先大概看一下整体流程: UNI-APP安卓本地打包详细教程(保姆级)
https://blog.csdn.net/PIOnly/article/details/125196697

JDK安装配置;Android-SDK安装配置;

https://blog.csdn.net/qq285744011/article/details/118164319

安装Android Studio

http://www.android-studio.org/

HBuilderX中配置好APP项目

(应用名称=安装包安装后的APP名称)

 再修改安卓包名、ios包名:

一定要有"."号,例如“com.xx.xxApp”,否则无法本地打包(报错:Error:
    Package name '__UNI__9B0789E' at position AndroidManifest.xml:3:5-29 should contain at least one '.'

一定要有"."号,例如“com.xx.xxApp”

一定要有"."号,例如“com.xx.xxApp”

一定要有"."号,例如“com.xx.xxApp”

修改方法:

发行》原生App-云打包》勾选Android+iOS》输入安卓的包名、ios的Bundle ID》不用保存也不用打包》关闭即可自动同步到uniapp的云端

收集

1)iOS BundleId: 在HBuilderX中打开项目,菜单“发行”>原生APP-云打包 >勾选iOS(ipa包)> iOS设置>Bundle ID(AppID)中获取;

2)Android 包名: 如上

================================
第一步 获得Android 证书签名SHA1
https://ask.dcloud.net.cn/article/35777
================================

命令行cmd中

cd ~

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

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,输入完成回车 CN

Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?

[no]: // 输入y回车

>> xx.keystore已生成

查看证书的SHA256、SHA1密码:

命令行cmd中

keytool -list -v -keystore rudonKeystore2022.keystore

SHA1

76:B6:......

SHA256

F7:A1:8E.......

================================
第二步 获得Appkey
https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey
================================

1.打开 https://dev.dcloud.net.cn/#/pages/app/list

2.选中需要打包的应用(点击应用名称)

3.离线打包Key管理

4.填写,保存

5.获得AppKey

iOS: 974411fc....

Android: 2cb643....

================================
第三步 离线打包准备
================================

1)更新HBuilderX

2)下载 “Android 离线SDK - 正式版”

https://nativesupport.dcloud.net.cn/AppDocs/download/android

3)解压,放在非中文路径

4)打开最新版HBuilderX,点击界面上方的发行,点击原生App-本地打包,点击生成本地打包资源

5)完成后点击链接,复制整个“_UNI_”开头的目录到D:/

================================
第四步 配置Android Studio
================================

最新解决Android Studio打包没有Generate Signed Bundle/APK选项
https://blog.csdn.net/qq_34661750/article/details/125369135

解决android studio编译报错:Failed to find Build Tools revision xx.x.xx
https://blog.csdn.net/qq_38666896/article/details/115304871

在系统变量中添加ANDROID_HOME,值是上面的路径

编辑系统变量中的Path:
新增4个
%ANDROID_HOME%\\platform-tools
%ANDROID_HOME%\\emulator
%ANDROID_HOME%\\tools
%ANDROID_HOME%\\tools\\bin

 

 

 

================================
第五步 开始离线打包
================================

1)复制“Android 离线SDK - 正式版”中的整个HBuilder-Integrate-AS目录到D盘

2)打开Android Studio,导入这个目录

 

 

先Build再生成APK

 

 

 

继续参考

https://blog.csdn.net/PIOnly/article/details/125196697#t7

直到完成

以上是关于最新使用uniapp本地打包APP安卓,已排坑的主要内容,如果未能解决你的问题,请参考以下文章

uniapp离线打包apk - 安卓篇

uniapp离线打包apk - 安卓篇

uniapp小程序—— APP项目云打包(安卓)

uniapp小程序—— APP项目云打包(安卓)

uniapp(安卓端)百度地图的使用

使用uniapp开发APP时的调试/安卓打包等