"设置"范围不工作 - 安卓工作室与gradle

时间:2014-04-06 08:22:20

标签: android android-studio gradle dependencies

我需要阻止gradle导出某个共享库。

我已经读过使用提供的范围可以解决这个问题,但似乎它只适用于较旧的gradle版本。

有没有其他方法可以从构建过程中排除依赖关系,而不是让它们进入最终的apk?

4 个答案:

答案 0 :(得分:3)

我在这里找到了解决方案:https://stackoverflow.com/a/10406184/310760

但是对于Gradle 2.0,它有一些小变化:

configurations{
  provided
}

sourceSets {
    main {
        compileClasspath += configurations.provided
    }
    test {
        compileClasspath += configurations.provided
    }
}

sourceSets.main.compileClasspath += configurations.provided

idea {
  module{
    scopes.PROVIDED.plus += [configurations.provided] // for Gradle 2.0
  }
}

答案 1 :(得分:0)

我有同样的问题,我找到了一些解决方案。但我不明白。

http://www.sinking.in/blog/provided-scope-in-gradle/

答案 2 :(得分:0)

使用android-apt gradle插件解决了这个问题。

请参阅https://bitbucket.org/hvisser/android-apt/overview

apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android {
    compileSdkVersion 20
    buildToolsVersion '20.0.0'
    defaultConfig {
        applicationId "org.ligboy.test.card.module1"
        minSdkVersion 14
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
configurations {
    apt
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    apt 'com.android.support:support-v4:21.+'
    apt 'com.google.code.gson:gson:2.2.+'
    apt 'com.android.support:cardview-v7:+'
    apt 'com.android.support:recyclerview-v7:+'
}

答案 3 :(得分:0)

与此斗争了一段时间后发现:

  1. "设置"是gradle 1.3.0的一部分,但无法正常工作。
  2. "设置"在gradle 1.5.0中正常工作!
  3. 仅供参考:升级到1.5.0后我必须删除我的构建目录,以从.aar中删除lib文件。