我已经成功修改了我的 build.gradle 以与 gradle-experimental 一起使用,但是当尝试添加签名配置块时它失败了。我按照以下指示进行操作http://tools.android.com/tech-docs/new-build-system/gradle-experimental http://tools.android.com/tech-docs/new-build-system/gradle-experimental尽我所能,但我总是收到以下错误:
配置项目“:app”时出现问题。
以下模型规则不受约束:
model.android.signingConfigs > 命名(发布)
可变的:
- android.signingConfigs.release (com.android.build.gradle.management.SigningConfig)
我搜索错误但找不到任何相关内容。 “以下模型规则不受约束”是什么意思?
这是我的signingConfig块的样子,它位于android块之外,并修改为使用=,就像使用gradle-experimental时的情况一样。
android.signingConfigs {
release {
storeFile = file("myreleasekey.keystore")
storePassword = "password"
keyAlias = "MyReleaseKey"
keyPassword = "password"
}
}
虽然对于提出这个问题的用户来说已经晚了,但它仍然可以帮助其他人。
以下代码示例对我来说效果很好。我使用以下设置对其进行了测试 - Gradle-experimental-0.4.0、Gradle 包装器 - 2.8、Android Studio 2.0 预览版。
apply plugin: 'com.android.model.application'
model {
def signConf // <-- Note the changes made here
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.0"
defaultConfig.with {
applicationId = "in.atultiwari.helloandroidjni"
minSdkVersion.apiLevel = 15
targetSdkVersion.apiLevel = 23
versionCode = 1
versionName = "1.0"
}
}
android.buildTypes {
release {
minifyEnabled = false
proguardFiles.add(file("proguard-rules.pro"))
signingConfig = signConf // <-- Note the changes made here
}
}
android.signingConfigs { // <-- Note the changes made here
create("signRelease") { // <-- Note the changes made here
keyAlias = 'myKeyAlias'
keyPassword = 'myKeyPassword'
storeFile = file('myKestoreFile.jks')
storePassword = 'myKeystorePassword'
signConf = it
}
}
android.ndk {
moduleName = "hello-android-jni"
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
}
附: - 它是not与...一起工作minifyEnabled = true
,在这种情况下,与以下相关的错误transformClassesAndResourcesWithProguardForRelease
occurs.
编辑 - 1。 minifyEnabled = true
正在使用上述设置。事实证明我的 proguard-rules 文件是空的,并且不知何故它导致了上述错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)