0

Android Studio 3.0

I have 3 build types: "release" and "dev"

project/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'

app/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')
}

But when I try to build I get the next error:

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. On Android Studio 2.3.3 my project success build and run

2 Answers 2

3

Seems like a bug in the Gradle build process, try to change:

 android {
  buildTypes {
      release {
          ...
      }
      dexOptions {
          ...
        // release & debug is in project animators
      }
      dev {
        matchingFallbacks = ["debug"]
      }
    }
}

dependencies {
'implementation project(':common')
}
Sign up to request clarification or add additional context in comments.

11 Comments

Not help: Error:Unable to resolve dependency for ':app@dev/compileClasspath': Failed to transform file 'common-release.aar' to match attributes {artifactType=android-exploded-aar} using transform ExtractAarTransform <a href="openFile:/app/build.gradle">Open File</a><br><a href="Unable to resolve dependency for &#39;:app@dev/compileClasspath&#39;: Failed to transform file &#39;common-release.aar&#39; to match attributes {artifactType=android-exploded-aar} using transform ExtractAarTransform">Show Details</a>
Not help: Error:Unable to resolve dependency for ':app@dev/compileClasspath': Could not resolve project :common. <a href="openFile:app/build.gradle">Open File</a><br><a href="Unable to resolve dependency for &#39;:app@dev/compileClasspath&#39;: Could not resolve project :common.">Show Details</a>
Maybe it's because I has not buildType=debug? I have 2 buildType=relase and buildType=dev
Not help: :app:javaPreCompileDev :app:compileDevJavaWithJavac\dev\Myproject\app\src\main\java\com\myproject\android\customer\api\model\CatalogAdapteJsonDeserilizer.java:9: error: package com.myproject.android.customer.common.util does not exist import com.myproject.android.customer.common.util.GsonUtil;
Yes, now it help. Thanks.
|
1

this problem maybe cause by miss match buildTypes between module build.gradle files

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'
        }
    }
}

common build.gradle [incorrect]

android {
    ...

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

    // miss debug and dev config block (the reason of this problem)

    }
}

common build.gradle [correct]

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'
        }
    }
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.