uniapp打包apk(踩坑过程)

一. 开始前

此项目用android studio打包, 需先安装该软件

1. 下载离线SDK:

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

2. 生成签名

参考: https://ask.dcloud.net.cn/article/35777
使用keytool -genkey命令生成证书:

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore 自已定义文件名.keystore
  • testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
  • test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
  • 36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期

查看sha1, 用来配置证书签名:

keytool -list -v -keystore test.keystore  
Enter keystore password: //输入密码,回车

其中证书指纹信息(Certificate fingerprints):

  • MD5: 证书的MD5指纹信息(安全码MD5)
  • SHA1: 证书的SHA1指纹信息(安全码SHA1)
  • SHA256: 证书的SHA256指纹信息(安全码SHA245)
3. 登录开发者中心进行项目管理:

注意: 需要去个人中心 先进行手机/邮箱绑定
红圈标注为打包apk需要的配置

image.png

二.打包过程

参考地址:

1. 打包配置

https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android
这一步一般情况下可以不用管:

image.png

本次打包使用的是方式1自创空项目,
方式2报错了(但是可以参考simpleDemo中的build.gradle配置)
app图标生成可参考:https://www.jianshu.com/p/c34c869a00e6

2. 未配置appkey或配置错误:

去开发者中心 复制项目的android的app key

image.png

build.gradle中配置签名, 位置跟 defaultConfig {} 同级:

signingConfigs {
        release {
            keyAlias '项目名'
            keyPassword '创建时输入的密码'
            storeFile file('你创建的签名文件名, 需要把该文件引入到跟build.gradle同级位置')
            storePassword '创建时输入的密码'
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }

然后在buildTypes中引入signingConfigs

 buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            signingConfig signingConfigs.release
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey

3.最后打包apk

image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容