美文网首页
android备案相关

android备案相关

作者: 突刺刺 | 来源:发表于2024-08-25 18:34 被阅读0次

    生成新的密钥库文件

    • -keystore ~/your-release-key.jks:指定密钥库的路径和名称。
    • -keyalg RSA:指定密钥算法,这里使用 RSA。
    • -keysize 2048:指定密钥的大小。
    • -validity 10000:指定密钥的有效期,以天为单位(10000 天约为 27 年)。
    • -alias your-key-alias:为你的密钥指定一个别名(需要记住,后面备案查看公钥和md5指纹需要用到)。
    • 命令:
      keytool -genkey -v -keystore ~/your-release-key.jks -keyalg RSA - keysize 2048 -validity 10000 -alias your-key-alias
      

    配置gradle构建文件

    • 打开android/app/build.gradle,进行如下配置:
    • your-key-alias替换你的密钥别名
    • your-key-password替换密钥的密码
    • /path/to/your-release-key.jks替换为你的密钥库文件的实际路径。
    • your-keystore-password替换为密钥库的密码。
      android {
        ...
        signingConfigs {
            release {
                keyAlias 'your-key-alias'
                keyPassword 'your-key-password'
                storeFile file('/path/to/your-release-key.jks')
                storePassword 'your-keystore-password'
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
                minifyEnabled false
                shrinkResources false
                // 注意:如果需要开启代码混淆,请设置 minifyEnabled 为 true,并配置 proguard-rules.pro
                // proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
      }
      
    验证签名
    • 输出 Verified 说明 APK 已正确签名:
      apksigner verify build/app/outputs/flutter-apk/app-release.apk
      

    注意事项

    • 密钥管理:保管你的密钥库文件和密码。如果丢失密钥,将无法更新应用。
    • 安全性:不要将密钥库文件和密码直接硬编码到项目中。可以考虑使用环境变量或安全存储工具。



    备案相关命令

    • 需求信息:
      • 包名bundle ID
      • 公钥
      • 证书MD5指纹(32长度的16进制数字)
    • 查看公钥:
      keytool -exportcert -alias "keys" -keystore "your-release-key.jks" | openssl x509 -inform DER -subject_hash
      
    • 查看密钥库的内容,(有几个证书,可以在这里看)
      keytool -list -v -keystore "your-release-key.jks"
      

    由于 MD5 已经被认为不安全,因此现代工具和方法可能默认不显示 MD5 指纹。如果确实需要查看 MD5 指纹,你可以通过导出证书并使用 openssl 手动计算来实现。这种方法不仅适用于 .jks 文件,还适用于其他证书管理系统

    • 使用openssl提取MD5指纹:
      • 导出.cer证书:
        keytool -exportcert -alias "your-key-alias" -keystore "your-release-key.jks" -file exported_cert.cer
        
      • 或者导出.crt证书:
        keytool -exportcert -alias "your-key-alias" -keystore "your-release-key.jks" -file exported_cert.crt
        
      • 或者导出.pem格式(openssl工具可能无法识别上面的证书格式):
        -rfc:使用 PEM 格式导出证书(这是文本格式,可以直接查看和使用)。
        keytool -exportcert -alias "your-key-alias" -keystore "your-release-key.jks"  -rfc -file exported_cert.pem
        
      • 读取证书,并计算MD5指纹:
        openssl x509 -in exported_cert.crt -noout -fingerprint -md5
        

    相关文章

      网友评论

          本文标题:android备案相关

          本文链接:https://www.haomeiwen.com/subject/dgqokjtx.html