我试图寻找类似的问题,但是 运气不好。
我正在从命令行构建我的 Gradle 项目, 并在 gradle release 命令行中提供密码 使用-P。
这是我的 build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.3'
}
}
apply plugin: 'android'
android {
signingConfigs {
release {
storeFile file("C:/Android/Dev/keystore/dm.keystore")
keyAlias KEY_ALIAS
storePassword STORE_PASSWORD
keyPassword KEY_PASSWORD
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
compileSdkVersion 'android-13'
buildToolsVersion '22.0.1'
buildTypes {
release {
minifyEnabled false
proguardFile getDefaultProguardFile('proguard-android.txt')
}
}
}
当我尝试进行清理时,它给了我:
Could not find property 'KEY_ALIAS' on SigningConfig_Decorated{name=release, storeFile=C:\Android\dev\keystore\dm.keystore, storePassword=null, keyAlias=null, keyPassword=null, storeType=C:\Android\dev\keystore\dm.keystore}.
有人说“signingConfigs”应该出现在 'buildTypes',确实如此。
有什么方法可以保留“signingConfigs” 在那里,但也许以某种方式进行了修改,而不是让它提示?
如果我取出“signingConfigs”,并在发布之前添加它 它有效。
谢谢!
最佳答案
试试这个
def key="default"
def storePass="default"
def keyPass="default"
if (project.hasProperty("KEY_ALIAS")) {
key = KEY_ALIAS
}
if (project.hasProperty("STORE_PASSWORD")) {
storePass = STORE_PASSWORD
}
if (project.hasProperty("KEY_PASSWORD")) {
keyPass = KEY_PASSWORD
}
signingConfigs {
release {
storeFile file("C:/Android/Dev/keystore/dm.keystore")
keyAlias key
storePassword storePass
keyPassword keyPass
}
}
我还建议您将签名信息存储在单独的文件中
关于android - Gradle , 'could not find property',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31861121/