我需要阻止gradle导出某个共享库。
我已经读过使用提供的范围可以解决这个问题,但似乎它只适用于较旧的gradle版本。
有没有其他方法可以从构建过程中排除依赖关系,而不是让它们进入最终的apk?
答案 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)
我有同样的问题,我找到了一些解决方案。但我不明白。
答案 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.5.0后我必须删除我的构建目录,以从.aar中删除lib文件。