我按照Manage your app signing keys说明"要为新应用创建上传密钥,请按照sign your app上的说明操作。"
我在此处查看"使用google play App署名",将我重定向到Manage your app signing keys。此链接与第一个链接相同,因此我陷入了重定向循环。
我在#34部分检查;生成密钥和密钥库"在sign your app中再次将我链接到Manage your app signing keys。
如果我在&#34部分下查看;手动签署APK"在sign your app中,如果我想使用Google Play应用签名进行签名,我会看到说明我应该使用我的上传密钥。有关详情,请查看Manage your app signing keys。
我不知道从哪里获取上传密钥。我只是在重定向循环中。
答案 0 :(得分:4)
"上传密钥"并不是什么特别的东西 - 它只是密钥库中的另一个密钥。您需要在开发者控制台中将此密钥注册为上传密钥,以便Google将其识别为您的上传密钥。
要生成上传密钥,只需按照以下步骤生成密钥和密钥:"生成密钥和密钥库"在Sign Your App documentation上。您生成的密钥将是您的上传密钥。
生成上传密钥后,您需要使用
将其导出keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
其中upload-keystore.jks
是包含您要用作上传密钥的密钥的密钥库的名称,而upload
是密钥的别名。
最后,您需要在开发者控制台中访问您的应用,转到版本管理>应用程序签名,然后单击"上传公钥证书"按钮上传您之前生成的.pem
文件。这会将您的密钥注册为"上传密钥"对于那个应用程序。
答案 1 :(得分:0)
也许您的意思是Google App Signing? 通过从AndroidStudio创建密钥,所有过程与之前相同,选择Build - >生成签名APK - >新建 - >返回 - >然后按照对话过程进行操作。
那么Google App Signing在哪里?
根据{{3}},如果您丢失了密钥,它就是开发人员的安全功能。
如果您丢失了密钥库或认为它可能已被盗用,Google Play App Signing可以请求重置您的上传密钥。如果您未注册Google Play App Signing并丢失密钥库,则需要发布包含新软件包名称的新应用。
答案 2 :(得分:0)
最简单的方法是在不必彻底了解的情况下使用构建 - >生成签名的APK菜单。它将带您完成制作商店和钥匙的向导。我通常每个商店只做一个应用程序,所以如果我做的话很容易分开和出售。
完成向导后,告诉它将商店放在项目的根目录中,并记下密码密钥和别名信息。
接下来,我通常会将密钥和密码添加到CI构建服务器上的环境变量中,但是如果要构建本地,则可以将它们添加为本地计算机的本地环境变量,以避免将此信息放入repo中。 / p>
然后修改Gradle构建文件以从环境变量中提取信息,如:
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
signingConfigs {
release {
storeFile file("$projectDir/../myappkeystore.jks")
storePassword System.getenv('MYAPP_STORE_PASSWORD')
keyAlias System.getenv('MYAPP_KEY_ALIAS')
keyPassword System.getenv('MYAPP_KEY_PASSWORD')
}
}
defaultConfig {
applicationId "com.appstudio35.myApp"
minSdkVersion 21
targetSdkVersion 26
versionCode 12
versionName "0.08.4"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
packagingOptions {
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
}
}
然后确保添加环境变量。在Windows中只需一次添加一个,但在Mac或Linux中,您必须导出它们。我通常在〜/ .bash_profile中使用来自终端的vi来包含。
export MYAPP_STORE_PASSWORD='$mYpASSWORD$'
export MYAPP_KEY_ALIAS=MyAlias
export MYAPP_KEY_PASSWORD='$MyKeyPassword$'
然后,您只需转到gradlew所在项目的根目录并运行bash gradlew assembleRelease(或者如果您愿意,可以使用向导)。当您上传时,只需提供您在注册应用程序签名时创建的密钥库。它真的只是保留一份副本,没什么特别的,但是如果你丢失了它,你可以在以后恢复。
希望有所帮助。当你开始从终端构建密钥库时,它们会变得复杂得多。该向导做得很好。 ;)
此外,我收到了几封谷歌电子邮件,试图了解他们的“上传”商店和关键信息。经过大约10次来回,我终于意识到它实际上只是你的签名密钥库,它不是一个新的密码库,根据谷歌的代表,你没有单独的一个。