Как настроить библиотеку компиляции в студии 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