Как настроить библиотеку компиляции в студии android. Ломбок

Помогите мне настроить смежные зависимости в Android Studio в build.gradle. Я имею в виду, что они не включаются в окончательный 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' }

И может ли быть возможно установить его в глобальном файле build.gradle для всех проектов?

Ответ 1

Я разрешаю эту проблему, изменяя файл gradle-wrapper.properties в папке gradle. Теперь это выглядит так:

#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'
    }
}

Теперь в подпроектах мне не нужно писать много параметров для плагинов или репозиториев, а предоставленный метод работает очень хорошо.

Ответ 2

С Android Studio 1.1.0 я не смог найти сводный набор инструкций для добавления Lombok, который работал у меня. Это включает собственную страницу настройки Lombok: http://projectlombok.org/setup/android.html

Здесь все, что я должен был сделать, чтобы заставить его работать (на OS X):

  • Установите плагин Lombok в Android Studio
    • Android Studio > Предпочтения > Плагины
    • Нажмите Browse repositories...
    • Поиск плагина Lombok
    • Нажмите Install plugin
    • Перезапустить Android Studio
  • Добавить в блок android/dependencies в app/build.gradle: provided 'org.projectlombok:lombok:1.16.2'
    • См. search.maven.org для последней версии, поскольку инструкции lombok не обновляются при выпуске новых версий
    • Я предполагаю, что подход subprojects в build.gradle в корне проекта (из ответа Олександр Самсонов) также работает, но, похоже, требуется переместить конфигурацию из приложения /build.gradle(вам не разрешается дополнительно расширять конфигурация в подпроектах). Я не хотел переместить всю конфигурацию Android, поэтому я сохранил ее в app/build.gradle.
  • Создайте файл lombok.config в корне проекта, содержащий две строки: lombok.anyConstructor.suppressConstructorProperties = true lombok.addGeneratedAnnotation = false

Ответ 3

Возможность сделать это была просто добавлена ​​в v0.8 Android- Gradle плагин, который вы можете использовать, если вы используете Android Studio 0.4.3 (который доступен на канале канала канарейки).

Он упоминается в примечаниях и поток на adt- dev для рассылки

Вы указываете его следующим образом:

dependencies {
    provided 'org.projectlombok:lombok:1.12.2'
}

Я зарегистрировал ошибку https://code.google.com/p/android/issues/detail?id=65216, чтобы запросить возможность ее редактирования с помощью панели Зависимости в Диалог структуры проекта; на данный момент вам нужно вручную отредактировать файл build.gradle, чтобы использовать это.

Что касается того, можете ли вы поместить его в файл верхнего уровня build.gradle, чтобы он применим ко всем модулям, я не уверен. Я попытался поместить его в блок allprojects, но Gradle сказал мне, что обработчик зависимостей по умолчанию не знал, что с ним делать. Поэтому я предполагаю, что нет, но если я получу другую информацию, я обновлю этот ответ.

Ответ 4

Для Android Studio

  • Перейдите в меню "Файл" > "Настройки" > "Плагины"
  • Нажмите "Обзор репозиториев..."
  • Поиск "Плагин Ломбок"
  • Нажмите "Установить плагин"
  • Перезапустить Android Studio