在成绩构建中有不同的依赖关系吗?

时间:2015-09-30 10:45:38

标签: android android-studio gradle android-gradle

我有一个调试版本和Android应用程序的发布版本但是我需要不同的依赖项,这在Android Studio中是否可行?

我有一节:

buildTypes {
        debug {
            minifyEnabled false
        }
        release {
            minifyEnabled true
        }
}

以及依赖项的部分:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'joda-time:joda-time:2.7'
    compile 'org.joda:joda-convert:1.4'
}

如果我使用调试版本,我想删除joda-convert依赖项,因为它会导致APK"包装中的重复文件。错误。

任何帮助都非常感激?

3 个答案:

答案 0 :(得分:7)

你可以使用

releaseCompile 'org.joda:joda-convert:1.4'

然后joda-convert仅用于发布

答案 1 :(得分:1)

来自Android gradle documentation

  

compile配置用于编译主应用程序。   其中的所有内容也会添加到编译类路径中   打包在最终的APK中。还有其他可能的配置   将依赖项添加到:

     
      
  • compile:主要应用
  •   
  • androidTestCompile:测试应用
  •   
  • debugCompile:调试构建类型
  •   
  • releaseCompile:发布构建类型。
  •   

答案 2 :(得分:1)

你最好的选择就是完全删除Joda,它首先不是专为Android而设计的,它实际上只适用于Java。

尝试类似https://github.com/JakeWharton/ThreeTenABP的内容非常相似,不应要求您更改多少代码。

在回答原始问题时,请使用releaseCompile和debugCompile来包含或排除您需要的内容。