uni-app离线打包apk
记录一下打包apk的过程:
参考:uni-app离线打包官网地址
1. 打包需要
2.导入工程
2-1.遇见问题
1. 加载.idea和.gradle失败,
Unsupported Java.
Your build is currently configured to use Java 17.0.6 and Gradle 6.5.
Possible solution:
- Upgrade Gradle wrapper to 7.2 version and re-import the project
解决:File
→Project Structure
重新构建:File
→Sync Project with Gradle Files
安卓结构:Project
→Android
3.申请appkey
登录开发者中心选择需要打包的应用→各平台信息→查看或新增安卓打包信息
- 这里为了项目的交接和管理,还有一些权限问题,最好用公司的邮箱登录;
- 该账号和hbuilder开发时候的账号是一个,开发运行的时候项目就自动添加上了;
- 如果在自己的账号已经添加上了可以转移项目到公司的账号上;
- 如果appID还没用过可以在hbuilder里面重新登录,在根目录manifest.json→基础配置→重新获取appID,运行一下项目就加上了;
- 这里需要的应用签名相关的信息就是版权信息,需要配一下;
3-1.SHA1
因为是版权信息,所以可以多个项目用一个签名,如果之前有签名,就直接在签名的目录下打开控制台,输入keytool -list -v -keystore keystore.jks
→输入密码获取(注意密码输入不会显示,不可使用复制粘贴)
注意:
- 官网给出的获取SHA1的文档的jarsinger签名格式只支持v1签名,
- Android studio 打包应用自带的apksinger格式支持v1和v2签名
- 安卓离线打包v1版本和v2版本签名官方说明
- 总结:就是版本升级和权限的问题,用哪个都行,但是上架谷歌应用商店只支持apksigner验证
申请签名:
这里我用的是apkSinger:
① Build
→Generate Signed Bundle / APK...
(注意只有项目构建成功后才会有这个选项)
② 选择APK
→Next
③ 选择Creat new...
④填写信息→OK
→Next
⑦release
→Create
⑧根目录下生成了密钥文件→在文件夹中打开→cmd打开控制台
⑨输入keytool -list -v -keystore keystore.jks
→输入密码(注意密码输入不会显示,不可使用复制粘贴),
keystore.jks为你的密钥文件名
3-2.在开发者中心添加安卓平台的信息
①填写信息
②创建appkey
4.配置项目
①配置appkeysimpleDemo/src/main/AndroidMainifest.xml
②配置应用版本号和密钥/simpleDemo/build.gradle
③配置应用名称simpleDemo/src/main/res/values/strings.xml
④配置应用启动页及provider节点:该配置项目模板已配过,核对一下就行simpleDemo/src/main/AndroidMainifest.xml
⑤配置应用图标和启动页simpleDemo/src/main/res/drawable/...png
5.打包应用
①Hbuilder生成本地打包资源
②替换AndroidStudio的资源simpleDemo/src/main/apps/__UNI_A
__UNI_A为appIDsimpleDemo/src/main/data/dcloud_control.xml
③打包Build
→Generate Signed Bundle / APK...
→选择APK→Next→输入别名和别名密码→Next→选择release→Create
5-1.遇见问题
5-1打包失败-gradle版本问题
1.gradle版本和Java jdk版本不对应
Unable to make field private final java.lang.String java.io.File.path accessible:
module java.base does not "opens java.io" to unnamed module @3b998fc7
解决:这里我百度搜索都是下载一个对应版本的Java,但是这条报错的同时右下角还有一个提示,点击按钮就弹出如下窗口,在右侧Notifications也能找到,如果没有弹窗就File
→Sync Project with Gradle Files
重新构建一下,该问题和2-1的问题是相互影响的,当时没注意所以打包失败
然后不用选,直接按照默认选项点击Run selected steps
,然后重新 Build
→Generate Signed Bundle / APK...
打包,可能还会提示这个错误,这时候重复此操作,就可以了,它在自动匹配gradle和gradle plugin 的版本。
我的成功打包后的gradle和gradle plugin版本:
文章来源:https://www.toymoban.com/news/detail-854529.html
④打包成功,文件夹位置:simpleDemo/release/simpleDemo-release.apk
文章来源地址https://www.toymoban.com/news/detail-854529.html
到了这里,关于uni-app离线打包安卓apk的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!