Uni-app 离线打包 apk
1. Android Studio 下载
2. HBuilderX下载
3. App离线SDK下载
-
下载后解压文件,将 HBuilder-Integrate-AS 重命名 build-template 并拷贝到一个专门打包用的文件夹下作为打包模板
-
该文件夹中有一个 simpleDemo 文件夹
-
即
build-template\simpleDemo\src\main\assets\apps
-
将 apps 文件夹下的内容删除
-
运行 HbuilderX
-
选择生成本地打包 APP 资源
-
打包完成控制台会提示下面内容
-
找到打包后的资源目录,将下图文件夹复制到专门打包用的文件夹下,即 build-template\simpleDemo\src\main\assets\apps 文件夹下
-
4. 申请 Appkey
-
安装JRE环境(推荐使用JRE8环境,如已有可跳过)
-
可从Oracle官方下载jre安装包:
-
建议将JRE安装路径添加到系统环境变量
-
使用keytool -genkey命令生成证书:
-
cmd 输入以下命令 切换到 D 盘
d:
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
- testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
- test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
- 36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期
-
回车后会提示:
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,输入完成回车 Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct? [no]: //确认上面输入的内容是否正确,输入y,回车 Enter key password for <testalias> (RETURN if same as keystore password): //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以
-
以上命令运行完成后就会生成证书,路径为“D:\test.keystore”
-
-
查看证书信息
在 D 盘下运行 cmd
keytool -list -v -keystore test.keystore Enter keystore password: //输入密码,回车
会输出以下格式信息:
只有 SHA1 和 SHA256,但是还需要一个 MD5
-
此时需要下载一个 openssl 软件,并将其加入到环境变量
-
安装完成后执行下面命令即可看到输出的 md5
keytool -exportcert -keystore xxx.keystore | openssl dgst -md5
-
-
-
记录上面生成的 SHA1 SHA256 MD5
-
登录 开发者中心
-
在应用管理 - 点击应用 - 各平台信息 创建以及查看离线AppKey:
- 创建时输入对应的 SHA1 SHA256 MD5
5. 配置 Android Studio
-
build.gradle配置
signingConfigs { config { keyAlias '签名别名' keyPassword '签名密码' storeFile file('xxx/xxx/xxx.keystore或xxx/xxx/xxx.jks') // 路劲为相对路径或绝对路径 storePassword '证书文件密码' v1SigningEnabled true //兼容v1 v2SigningEnabled true //兼容v2 } }buildTypes { debug { signingConfig signingConfigs.config ... } release { signingConfig signingConfigs.config ... } }
-
注意:签名信息需要与后台一致,不一致也会导致appkey校验失败
- 签名别名 即使用 keytool 工具生成证书时候要求输入的 alias 即上面的 testalias
- 证书签名密码即使用 keytool 工具生成证书时候要求输入的证书密码
- 证书文件密码 即使用 keytool 工具生成证书时候要求输入的证书文件密码(那个步骤按 enter 则证书密码和证书文件密码相同)
- storeFile 即生成的 keystore 文件的位置
-
Androidmanifest.xml配置
-
获取到android平台的AppKey后!打开Android项目 配置主APP的Androidmanifest.xml文件,找到meta-data节点,name为dcloud_appkey,value为申请的AppKey如下:
<application ...> <meta-data android:name="dcloud_appkey" android:value="替换为自己申请的Appkey" />
-
找到 assets 目录下的 data 目录
- 将 dcloud_control.xml 中的 appid 设置成申请AppKey时的 appid
- 将 build.gradle 中的 applicationId 设置成申请AppKey时的包名
- 将 dcloud_control.xml 中的 appid 设置成申请AppKey时的 appid
-
-
设置应用名称
-
编辑 res 目录下的 values 目录中的 strings.xml
-
设置成应用的名字
-
-
设置图标
- res 目录中的 drawable 目录中
- icon.png : logo图片
- push.png : 消息推送logo
- splash.png : 启动页
- res 目录中的 drawable 目录中
-
设置版本号
6. 打包
打包完成后即可在
build-template\simpleDemo\release
中查看打包好的 apk 文件全文结束
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)