uniapp安卓本地打包成apk

发布时间:2024年01月18日

uniapp安卓本地打包成apk

环境准备

1.HBuilderX最新版
2.与HBuilderX版本对应版本的“Android 离线SDK - 正式版”, 下载见:https://nativesupport.dcloud.net.cn/AppDocs/download/android.html
3.Android Studio,官方下载地址:https://developer.android.google.cn/studio?hl=zh-cn
4.java1.8环境

证书(keystore)准备

输入生成证书的命令,格式为:
keytool -genkey -alias 证书别名 -keyalg RSA -keysize 2048 -validity 证书的有效期(单位为天) -keystore 证书文件名.keystore

例如:

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

之后查看证书,使用命令
keytool -list -v -keystore 证书文件名.keystore

例如:

keytool -list -v -keystore test.keystore

显示的信息如下,重点注意证书指纹信息:SHA1,SHA256,之后要用到
在这里插入图片描述

注册登录开发者中心(dcloud)

注册登录开发者中心,网址:https://dev.dcloud.net.cn

创建项目

使用HBuilderX创建uniapp项目
在这里插入图片描述
项目创建好后可以在“开发者中心-我的应用”中查看到该应用和Appid
在这里插入图片描述

Android平台信息配置与离线打包key获取

点击应用名称进入管理页面
点击各平台信息
点击新增
在这里插入图片描述
平台选择Android App,版本选择正式版,输入包名(自定义即可),和证书指纹信息中的SHA1,SHA256值,然后点击提交
在这里插入图片描述
提交后点击创建离线打包key
在这里插入图片描述
创建好之后然后点击查看
在这里插入图片描述
打码部分就是我们需要的离线打包key,之后需要用到
在这里插入图片描述

App配置

配置需要支持的CPU类型,我这里全勾了,关于该配置的说明见官网:https://ask.dcloud.net.cn/article/36195
在这里插入图片描述

生成本地打包App资源

在这里插入图片描述
生成的资源所在路径如下:(我这里_UNI_F60B5A5就是生成的资源)
在这里插入图片描述

使用Android Studio将资源打包成apk

使用“Android Studio”打开“Android 离线SDK”中的“HBuilder-Integrate-AS”项目
在这里插入图片描述
将HBuilder-Integrate-AS\simpleDemo\src\main\assets\apps_UNI_A删除,替换为HBuilderX生成的资源
在这里插入图片描述
修改simpleDemo/src/main/AndroidManifest.xml中的包名为dcloud里配置的包名
在这里插入图片描述
以及修改android:value的值为之前生成的“离线打包key”
在这里插入图片描述

修改simpleDemo/src/main/assets/data/dcloud_control.xml中的appid为你的appid(我这里是__UNI__F60B5A5)
在这里插入图片描述
修改simpleDemo/build.gradle中的applicationId为包名,我这里是(UNI.F60B5A5)
在这里插入图片描述
修改simpleDemo\src\main\res\values\strings.xml的app_name为你需要的app名称
在这里插入图片描述

配置构建使用的jdk版本

进入设置
在这里插入图片描述
进入Build/Build Tools/Gradle菜单
在这里插入图片描述
将默认使用的jdk改为本地的jdk1.8,之后点击OK
在这里插入图片描述

打包

在这里插入图片描述
选中APK
在这里插入图片描述
填写证书路径,别名,密码等信息
在这里插入图片描述
点击Next,选中release,点击Create开始打包
在这里插入图片描述
打包成功之后生成的apk文件在simpleDemo/release路径下
在这里插入图片描述

参考

HBuilderX官方(App离线打包): https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android.html#versioncode
segmentfault博客:https://segmentfault.com/a/1190000040092971
CSDN博客:https://blog.csdn.net/PIOnly/article/details/125196697

文章来源:https://blog.csdn.net/m0_47659279/article/details/135666444
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。