Android Studio无法识别属性文件中声明的签名配置

时间:2016-06-10 20:20:15

标签: android android-studio

我在keystore.properties根文件夹

中有以下密钥库信息存储
storePassword=******
keyPassword=******
keyAlias=******
storeFile=/home/jerry/jerryKeyStore 

以及以下用于加载它的gradle代码

// Create a variable called keystorePropertiesFile, and initialize it to your
// keystore.properties file, in the rootProject folder.
def keystorePropertiesFile = rootProject.file("keystore.properties")

// Initialize a new Properties() object called keystoreProperties.
def keystoreProperties = new Properties()

// Load your keystore.properties file into the keystoreProperties object.
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}

当我打开项目结构窗口的签名选项卡时,Android Studio会在所有签名字段中读取Unrecognized value。 它也无法在我的设备上安装APK,抛出APK是使用不同密钥构建的错误..因为我使用直接写入gradle文件的签名信息构建它

我使用以下
Android Studio:2.1.2
Gradle:2.1.0

4 个答案:

答案 0 :(得分:1)

确保您拥有:

buildTypes {
    debug {
        signingConfig signingConfigs.debug
        ......
    }
    release {
        signingConfig signingConfigs.release
        ...
    }
}

在模块中。

答案 1 :(得分:0)

仔细检查'keyAlias'的准确性。您可能也应该对'storeFile'持怀疑态度。我说这是因为我有一个非常类似的问题,因为我有拼错的关键字,它阻止了系统访问文件,这肯定是我得到“无法识别的价值”的原因。但很可能很容易就是你的商店文件引用上没有.jks扩展名,或者只是你的路径错误,或者文件位于错误的文件夹中。

答案 2 :(得分:0)

对我来说,问题是keystore.properties值中的引号。我取出了报价,重建了,它运行良好。我仍然看到"无法识别的价值观"在项目结构窗口中,但不再缺少密钥库。

答案 3 :(得分:0)

您可以放心地忽略“无法识别的值”错误。修复此问题:

  • 打开项目结构(Ctrl Shift Alt S)
  • 在左侧栏中,在“模块”下,单击“应用”,再单击“构建类型”选项卡,再单击“发布”。
  • 将“签名配置”更改为“ config” / etc。

然后“播放”按钮将正常工作。


要修复“ APK是使用其他密钥构建的”错误,请在安装发行版APK之前先卸载调试应用。