Loading... ## 1. 生成Android 证书 ``` keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore ``` - -alias 别名 这边使用 testalias代替 - test.keystor ``` 输入密钥库口令: //输入证书文件密码,输入完成回车 再次输入新口令: //再次输入证书文件密码,输入完成回车 您的名字与姓氏是什么? [Unknown]: //输入名字和姓氏,输入完成回车 您的组织单位名称是什么? [Unknown]: //输入组织单位名称,输入完成回车 您的组织名称是什么? [Unknown]: //输入组织名称,输入完成回车 您所在的城市或区域名称是什么? [Unknown]: //输入城市或区域名称,输入完成回车 您所在的省/市/自治区名称是什么? [Unknown]: //输入省/市/自治区名称,输入完成回车 该单位的双字母国家/地区代码是什么? [Unknown]: //输入国家/地区代号(两个字母),中国为CN,输入完成回车 CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=CN是否正确? [否]: //确认上面输入的内容是否正确,输入y,回车 正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 36,500 天): CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=CN ``` ## 2.查看证书 ``` keytool -list -v -keystore test.keystore Enter keystore password: //输入创建证书时的密码,回车 ``` ``` 密钥库类型: PKCS12 密钥库提供方: SUN 您的密钥库包含 1 个条目 别名: testalias 创建日期: 2024年7月10日 条目类型: PrivateKeyEntry 证书链长度: 1 证书[1]: 所有者: CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=CN 发布者: CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=CN 序列号: efd7bcf99g462f13 生效时间: Wed Jul 10 14:11:38 CST 2024, 失效时间: Fri Jun 16 14:11:38 CST 2124 证书指纹: SHA1: EA:8C:F5:E1:26:0B:89:69:F9:04:E3:D9:78:8B:0B:B8:13:45:F8:DA SHA256: 63:28:66:94:6B:08:51:3B:D1:EA:5C:D9:F0:DA:83:DA:9D:0E:C4:D1:4B:30:47:40:B2:23:30:AD:C1:E0:2F:86 签名算法名称: SHA256withRAA 主体公共密钥算法: 2048 位 RSA 密钥 版本: 3 扩展: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: C9 06 CC 3F 9E B0 E7 58 88 DE 38 EA E3 65 42 0E ...?...X..8..eB. 0010: 69 23 BB 22 i#.. ] ] ``` ## 3.配置gradle.properties ``` SYS_TEST_KEY_ALIAS=testalias SYS_TEST_KEY_PASSWORD=test2024 SYS_TEST_STORE_FILE=test.keystore SYS_TEST_STORE_PASSWORD=test2024 ``` ## 4.配置项目中的 build.gradle.kts - app/buidl.gradle.kts ``` sourceSets { getByName("main").res.srcDirs("src/main/res/font") } signingConfigs { create("release") { if (project.hasProperty("SYS_TEST_STORE_FILE")) { storeFile = file(project.property("SYS_TEST_STORE_FILE") as String) storePassword = project.property("SYS_TEST_KEY_PASSWORD") as String keyAlias = project.property("SYS_TEST_KEY_ALIAS") as String keyPassword = project.property("SYS_TEST_KEY_PASSWORD") as String } } } buildTypes { release { isMinifyEnabled = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) signingConfig = android.signingConfigs.getByName("release") ndk { //noinspection ChromeOsAbiSupport abiFilters += listOf("arm64-v8a") } } debug { ndk { //noinspection ChromeOsAbiSupport abiFilters += listOf("arm64-v8a") } } } ``` ## 5.打包 ``` ╭─[moodysiMac] as moody in ~/Desktop/MyProject/compose/TestAndroid on (main) ╰─(ノ˚Д˚)ノ ./gradlew aR //打包 ./gradlew assembleRelease ╭─[moodysiMac] as moody in ~/Desktop/MyProject/compose/TestAndroid on (main) ╰─(ノ˚Д˚)ノ adb install ./app/build/outputs/apk/release/app-release.apk //安装打包后的APK ``` END 最后修改:2024 年 07 月 18 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏 下一篇 上一篇 发表评论 取消回复 使用cookie技术保留您的个人信息以便您下次快速评论,继续评论表示您已同意该条款 评论 * 私密评论 名称 * 🎲 邮箱 * 地址 发表评论 提交中...