帮助我在build.gradle中的Android Studio中设置comile依赖项。 我的意思是他们不包括在最终的APK中。
这个build.gradle工作正常,但我不需要
Lombok的
运行时apk中的库;
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 10
targetSdkVersion 16
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
} }
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'org.projectlombok:lombok:1.12.2' }
可能可以在所有项目的全局build.gradle文件中进行设置吗?
答案 0 :(得分:13)
使用Android Studio 1.1.0,我找不到一组合并的说明,用于添加适用于我的Lombok。这包括Lombok自己的设置页面:http://projectlombok.org/setup/android.html
以下是我必须做的所有工作(在OS X上):
Browse repositories...
Install plugin
provided 'org.projectlombok:lombok:1.16.2'
subprojects
方法(来自ОлександрСамсонов的答案)也有效,但似乎需要从app / build.gradle移动配置(不允许进一步扩展子项目中的配置)。我不想移动整个android配置,所以我把它保存在app / build.gradle中。lombok.config
文件:
lombok.anyConstructor.suppressConstructorProperties = true
lombok.addGeneratedAnnotation = false
答案 1 :(得分:6)
执行此操作的能力刚刚添加到v0.8 Android-Gradle插件中,如果您运行的是Android Studio 0.4.3(可在金丝雀更新频道上使用),则可以使用该插件。
release notes和thread on the adt-dev mailing list
中提到了这一点您可以这样指定:
dependencies {
provided 'org.projectlombok:lombok:1.12.2'
}
我已经提交了错误https://code.google.com/p/android/issues/detail?id=65216来请求通过项目结构对话框中的依赖关系面板进行编辑的功能。目前,您必须手动编辑 build.gradle 文件才能使用此文件。
至于你是否可以将它放在顶级 build.gradle 文件中以使其适用于所有模块,我不确定。我尝试将它放在allprojects
块中,但是Gradle告诉我默认的依赖处理程序不知道如何处理它。所以我猜不是,但如果我得到其他信息,我会更新这个答案。
答案 2 :(得分:3)
Android Studio
答案 3 :(得分:2)
我通过更改gradle文件夹中的gradle-wrapper.properties
文件来解决此问题。
现在它看起来像这样:
#Sat Jan 25 02:59:06 EET 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
在主build.gradle
文件中,我可以为lombok
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.8.+'
}
}
allprojects {
repositories {
mavenCentral()
}
}
subprojects {
apply plugin: 'android'
buildscript {
repositories {
mavenCentral()
}
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 10
targetSdkVersion 16
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:+'
provided 'org.projectlombok:lombok:1.12.2'
}
}
现在在子项目中,我不需要为插件或存储库编写许多参数,并且提供的方法非常好。