用于签名Android应用程序的密钥库
我正在尝试在我的Androd应用程序中实现应用内计费,当我测试购买功能时,我得到错误“此版本的应用程序未配置为通过Google Play进行计费。” 我怀疑我没有正确生成已签名的APK,问题在于我的buil.gradle文件 我按照说明生成了一个密钥库并生成了.jks。我的问题是,在用于签名Android应用程序的密钥库,android,apk,Android,Apk,我正在尝试在我的Androd应用程序中实现应用内计费,当我测试购买功能时,我得到错误“此版本的应用程序未配置为通过Google Play进行计费。” 我怀疑我没有正确生成已签名的APK,问题在于我的buil.gradle文件 我按照说明生成了一个密钥库并生成了.jks。我的问题是,在签名配置中,我到底要为存储文件() 以下示例来自Android文档: signingConfigs { release { storeFile file("myreleasekey.keyst
签名配置
中,我到底要为存储文件()
以下示例来自Android文档:
signingConfigs {
release {
storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
}
}
简单地把路径放在我的.jks文件中是不起作用的。.jks文件与.keystore文件不同吗?如果是,如何生成.keystore
更新
我从中了解到.keystore和.jk是任意的文件扩展名
我的计划是简单地将My keystore.jks文件复制到app目录中,然后添加标记,如下所示:
storeFile file("keystore.jks")
这是正确的吗?不幸的是,Google Play发布apk需要几个小时,所以我无法快速得到答案
keytool -genkey -v -keystore name_of_your_file.keystore -alias your_alias -keyalg RSA -keysize 2048 -validity 10000
这是一个生成新密钥的命令
- 将\u文件的名称\u更改为您的名称
- 还有你的化名
密钥库将在您称之为的文件夹中生成
然后将其添加到build.gradle中
signingConfigs {
config {
storeFile file("${rootDir}/name_of_your_file.keystore")
storePassword "qwerty"
keyAlias "your_alias"
keyPassword "qwerty"
}
}
buildTypes {
release {
signingConfig android.signingConfigs.config
}
}
但是把qwerty改成你的密码
以及生成密钥库时使用的别名
将您的文件名改为kestore
清理您的项目并运行/gradlew task assembleerelease
我解决了这个问题。关键是选择app
目录作为密钥存储路径
以下是我如何在Android Studio中生成签名apk的详细说明:
转到生成->生成已签名的apk
选择应用程序模块,单击下一步
在密钥存储路径下,单击新建
将弹出以下窗口。
为密钥库路径选择应用程序目录。它将创建一个默认名称为“keystore.jks”的密钥库。如果你愿意,你可以改变它
输入密钥库的密码。我们称之为“StorePassword”
输入密钥别名(我们称之为“KeyAlias”)和密钥密码(我们称之为“KeyPassword”)
在build.gradle文件中添加以下内容:
签名配置示例:
signingConfigs {
release {
storeFile file("keystore.jks")
storePassword "StorePassword"
keyAlias "KeyAlias"
keyPassword "KeyPassword"
}
}
继续执行生成已签名的apk向导,输入适当的密码并生成apk。关键是确保build.gradle在最终签名的apk中更新
要确认您已成功签署.apk,请参阅问题
当然,要有安全的备份,并在生成密钥库后对其进行极端保护 在Android Studio中,进入Build->Generate Signed apk
并按照以下步骤操作您不需要在build.gradle
中添加签名配置,至少在当前的android studio版本1.3.2上是这样,谢谢您的回答。我发布了使用Android Studio生成密钥库的问题解决方案。