Android Studio 3.0
我有3种构建类型: “发布”和“ dev ”
项目/的build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
settings.gradle
include ':app', ':common'
应用/的build.gradle
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:26.1.0'
kapt "com.github.bumptech.glide:compiler:$GLIDE_VERSION"
kapt "com.jakewharton:butterknife-compiler:$BUTTER_KNIFE_VERSION"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
compile project(':common')
}
但是当我尝试构建时,我得到了下一个错误:
Unable to resolve dependency for ':app@dev/compileClasspath': Could not resolve project :common.
Could not resolve project :common.
Required by:
project :app
> Unable to find a matching configuration of project :common:
- Configuration 'debugApiElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dev' and found incompatible value 'debug'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
P.S。在Android Studio 2.3.3上,我的项目成功构建并运行
答案 0 :(得分:3)
看起来像Gradle构建过程中的错误,尝试更改:
android {
buildTypes {
release {
...
}
dexOptions {
...
// release & debug is in project animators
}
dev {
matchingFallbacks = ["debug"]
}
}
}
dependencies {
'implementation project(':common')
}
答案 1 :(得分:1)
此问题可能是由于模块buildTypes
文件之间缺少匹配build.gradle
引起的
app build.gradle
android {
...
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
dev {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
常见的build.gradle [不正确]
android {
...
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
// miss debug and dev config block (the reason of this problem)
}
}
常见的build.gradle [正确]
android {
...
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
dev {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}