APK签名错误:无法从密钥库中读取密钥

Jac*_*cky 62 android gradle apk

我正在开发intellij和gradle下的android应用程序.并使用以下方式生成密钥库文件:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Run Code Online (Sandbox Code Playgroud)

然后在build.gradle中使用keystore文件:

signingConfigs {
    robert {
        storePassword 'robert'
        storeFile file('/Users/bournewang/Documents/Project/android.keystore')
        keyPassword 'robert'
        keyAlias 'mike'
    }
}
Run Code Online (Sandbox Code Playgroud)

当最终尝试生成签名的apk文件:./ gradlew assembleRelease

它给出了错误:

任务执行失败':Myexample:packageRelease'.

无法从密钥库中读取密钥

coo*_*rok 60

首先检查密钥库文件,在您的示例中,创建名为my-release-key.keystore的文件.如果它的正确且真正存在于文件夹 Users/bournewang/Documents/Project检查别名中,在您的示例中它是-alias alias_name,但在配置中您指定了别名mike


Tom*_*sel 60

为了找出错误,您可以使用gradle signingReport命令.

在mac上:

./gradlew signingReport
Run Code Online (Sandbox Code Playgroud)

在Windows上:

gradlew signingReport
Run Code Online (Sandbox Code Playgroud)

  • 对于Windows命令应该是:`gradlew signingReport` (7认同)

pti*_*nou 8

很可能您的密钥别名不存在于您的密钥库文件中.

这个答案应该解决您的签名问题;)


小智 6

删除double-quotes解决了我的问题,现在是:

DEBUG_STORE_PASSWORD=androiddebug
DEBUG_KEY_ALIAS=androiddebug
DEBUG_KEY_PASSWORD=androiddebug
Run Code Online (Sandbox Code Playgroud)

  • 哪里删掉了??在天上?? (21认同)