最新使用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安卓,已排坑的主要内容,如果未能解决你的问题,请参考以下文章