Different dependencies for debug and release in gradle and Android Studio

后端 未结 3 1561
一个人的身影
一个人的身影 2021-01-30 10:39

I have an Android project, that depends on pure Java project. Both of them depend on another Java library, also in my multiproject gradle set in Android Studio. I have two versi

3条回答
  •  有刺的猬
    2021-01-30 10:45

    My buildDebug dependency was also getting ignored. My setup is the app module and a library module, and I have the need to propagate the build type from the app to the library modules, i.e., when I compile the debug type on the app I want to get the library debug type too.

    As mentioned, I tried having a specific dependency for each build type on the app gradle file, but to no avail:

    buildTypes {
        debug {
            debuggable true
            applicationIdSuffix ".debug"
    
            dependencies {
                debugCompile project(":library")
            }
        }
    }
    

    Ultimately what did the trick for me was this: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Library-Publication

    So, now the library dependency is managed (as usual) in the global dependencies scope in the app gradle file:

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        releaseCompile project(path: ':library', configuration: 'release')
        debugCompile project(path: ':library', configuration: 'debug')
    }
    

    and had to add this to the library's gradle build file:

    android {
        publishNonDefault true
    }
    

    This publishes all of the dependencies' build types. Note that if it takes a lot of time to compile your dependency, this solution might not be right for you.

提交回复
热议问题