我花了很多时间在此上,看来我找不到用于Keystore值的设置。问题如下:
我正在尝试对APK进行签名,因此该项目可以生成,但签名时出现以下错误:
Caused by: org.gradle.tooling.BuildException: Failed to read key OLDKEYNAME from store "D:\Projects\Android\build-keys\_OLD\oldstorenotselectedingenerationwizard.key.jks": Keystore was tampered with, or password was incorrect
at com.android.build.gradle.internal.scope.BuildElements$ExecutorBasedScheduler$transform$2.invoke(BuildElements.kt:133)
at com.android.build.gradle.internal.scope.BuildElements$ExecutorBasedScheduler$transform$2.invoke(BuildElements.kt:110)
异常中显示的密钥是一个旧密钥-我不相信我知道它的密码,但是我无法找到项目中给定位置的引用,并且为该密钥生成了一个新的密钥库。签名拒绝工作。
答案 0 :(得分:0)
删除$HOME/.android/debug.keystore
(在Windows中为C:\Users\[your-username]\.android\debug.keystore
)。
然后按照以下步骤配置并生成签名的apk:
https://developer.android.com/studio/publish/app-signing#sign-apk
答案 1 :(得分:0)
内森,
使用新生成的密钥库覆盖构建系统正在使用的密钥库位置。
修改您的app / build.gradle
android {
signingConfigs {
config {
keyAlias 'xyz'
keyPassword 'Abcd#033'
storeFile file('keystore/mykey.keystore')
storePassword 'Abcd#033'
}
}
}
答案 2 :(得分:0)
因此,我仍然不确定原因,但已将Android更新至最新版本(3.4),并将Gradle更新至5.1.1。该项目没有更改,并且现在可以正确签名,因此似乎是我找不到的错误或某些配置问题。
答案 3 :(得分:-1)
我有同样的问题,我转到“构建”>“清理项目”。然后再试一次,它起作用了。