我正在尝试将我的应用发布到Google Play商店,我无法弄清楚如何使用上传密钥签署应用,如https://developer.android.com/studio/publish/app-signing.html中所述
我使用的是Android Studio,我签了apk使用Build - > generate signed APK,并在我自己的密钥库路径/文件中创建了自己的密钥.现在,要发布,我需要使用谷歌上传密钥,这让我很困惑.所以,
我在哪里可以在Google Play控制台中找到我的上传密钥?在此应用程序的App签名下,我可以看到MD5,SHA-1,SHA-256的上传证书,甚至可以下载upload.pem文件.我该怎么办?
那么我究竟如何在Android Studio中使用Build - > generate signed APK来使用这个所谓的上传密钥进行签名?
我的应用使用谷歌登录来验证用户身份.现在它可以工作,如果我只是安装自己的apk.但是,如果我从谷歌商店下载它,它不能进行谷歌认证,我认为我搞砸了发布程序.
仅供参考,我正在使用"使用Google Play App Signing"流程.
请帮忙.
我想我已经想到了......
当您选择使用Google App Signing流程时,Google Play会将您上传的应用的签名更改为应用签名证书的SHA-1证书指纹(与上传证书相对).有关流程,请参阅此Studio文档中的图1 .
[顺便说一下,您可以在Google Play控制台上找到应用程序的证书 - >发布管理 - >应用程序签名]
这意味着,要使Oauth工作,您必须创建一个新的OAuth 2.0凭据(在console.developers.google.com上),该凭据使用具有相同包名称的App签名证书的指纹(与上载证书的指纹相对).
您的软件包现在将拥有2个Oauth凭据,一个用于生产版本,另一个用于开发/测试.两者都具有相同的包名称; 生产凭证将使用应用程序签名指纹,而开发/测试凭据将使用上载(或本地密钥库)指纹.
显然,在您的应用首次部署到Google Play(GP指定)之前,您不会知道应用签名指纹.因此,在首次上传到Google Play之后,但在点击"部署到生产"之前,需要创建制作凭据.
使用新系统,上传密钥是一个简单而普通的密钥库,您可以使用 android studio 创建。因此,请对您的 apk 进行签名,然后将其发送到 Playstore。
Google 将删除此密钥,并使用声明的应用程序密钥(并在 google play 中生成)
您想遵循哪个流程,有两种方法可供选择:-
我们来谈谈第一个,它是使用次数最多且简单的。脚步:-
如果你想通过cammand完成整个过程,那么你可以在app.gradle文件中添加buildType,这是更好更合适的方式。
要添加 buildType 配置,请参阅 gradle 代码:-
android{
buildTypes {
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
storeFile file("path for release.keystore")
storePassword keystore_password
keyAlias keystore_alias
keyPassword keystore_alias_password
}
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的配置中,您需要在storeFile 标签中提供发布密钥库文件的文件路径,还需要在 storePassword、keyAlias 和 keyPassword 中提供凭据,如上所述。
添加上述配置后,现在您可以通过简单的 gradlew 命令生成签名的 apk:-./gradlew clean assembleRelease
如果您想使用第二种方法,请在此处找到使用谷歌应用程序签名的密钥详细信息,如果您在任何步骤中遇到任何问题,请提及该步骤,以便我可以解决问题。
要首先生成上传密钥,您需要执行以下操作:-
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令对 apk 进行签名:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keys
Run Code Online (Sandbox Code Playgroud)
您还可以使用 github lib 从这里自动化整个过程。
或者您可以参考这里了解更多详情。
| 归档时间: |
|
| 查看次数: |
17461 次 |
| 最近记录: |