美文网首页
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