如何在android studio中设置编译库.LOMBOK

Ole*_*nov 14 android gradle lombok android-studio

帮助我在build.gradle中的Android Studio中设置comile依赖项.我的意思是他们不包括最终的APK.

这个build.gradle工作正常,但我不需要

龙目岛

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' }
Run Code Online (Sandbox Code Playgroud)

也许可以在所有项目的全局build.gradle文件中进行设置?

Sta*_*iel 13

使用Android Studio 1.1.0,我找不到一组合并的说明,用于添加适用于我的Lombok.这包括Lombok自己的设置页面:http://projectlombok.org/setup/android.html

以下是我必须做的所有工作(在OS X上):

  • 在Android Studio中安装Lombok插件
    • Android Studio>首选项>插件
    • 点击 Browse repositories...
    • 搜索Lombok插件
    • 点击 Install plugin
    • 重启Android Studio
  • 添加到app/build.gradle中的android/dependencies块: provided 'org.projectlombok:lombok:1.16.2'
    • 有关最新版本,请参阅search.maven.org,因为lombok的说明在发布新版本时不会更新
    • 我假设subprojects项目根目录中build.gradle中的方法(来自ОлександрСамсонов的答案)也有效,但似乎需要从app/build.gradle移动配置(不允许进一步扩展子项目中的配置) .我不想移动整个android配置,所以我把它保存在app/build.gradle中.
  • lombok.config在包含两行的项目根目录中创建一个文件: lombok.anyConstructor.suppressConstructorProperties = true lombok.addGeneratedAnnotation = false


Sco*_*rta 6

执行此操作的能力刚刚添加到v0.8 Android-Gradle插件中,如果您运行的是Android Studio 0.4.3(可在金丝雀更新频道上使用),则可以使用该插件.

它在发行说明adt-dev邮件列表中的一个帖子中提到过

你这样指定:

dependencies {
    provided 'org.projectlombok:lombok:1.12.2'
}
Run Code Online (Sandbox Code Playgroud)

我已经提交了错误https://code.google.com/p/android/issues/detail?id=65216,请求通过" 项目结构"对话框中的" 依赖关系"面板进行编辑.目前你必须手动编辑build.gradle文件才能使用它.

至于你是否可以将它放在顶级build.gradle文件中以使其适用于所有模块,我不确定.我尝试将它放在allprojects块中,但Gradle告诉我默认依赖处理程序不知道如何处理它.所以我猜不是,但如果我得到其他信息,我会更新这个答案.


Ole*_*nov 2

我通过更改gradle-wrapper.propertiesgradle 文件夹中的文件解决了这个问题。现在看起来像这样:

#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
Run Code Online (Sandbox Code Playgroud)

在主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'
    }
}
Run Code Online (Sandbox Code Playgroud)

现在在子项目中,我不需要为插件或存储库编写很多参数,并且提供的方法工作得很好。