android - Gradle , 'could not find property'

标签 android gradle

我试图寻找类似的问题,但是 运气不好。

我正在从命令行构建我的 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/

相关文章:

android - AndroidError:程序类型已存在:当我尝试从Android Studio生成Signed APK时,android_serialport_api.SerialPort

android - 你如何让 Android "Home"快捷方式绕过它指向的应用程序的历史记录?

android - 有没有办法为gradle中的每个buildType设置不同的 “androidTest.java.srcDirs”?

android - setLevel okhttp LoggingInterceptor 弃用

android - 排除 com.google.gms 的子模块

android - Android Nougat 升级中的 Recyclerview 问题

android - SDK版本的Android Gradle问题

android - IntentService 不会显示 Toast

android - Android 上的慢 avcodec_decode_video2、ffmpeg

gradle - 具有并行性的circleci - 每个容器执行所有测试