Можно ли использовать систему сборки Gradle для Android с Eclipse?

• приложение, которое нужно создавать несколько раз с разными ресурсами для разных клиентов (брендинг, конфигурация и изменение предварительно загруженных данных между клиентами).

После этого годаs Google I / O I 'Мы слышали о новой системе сборки Android на базе Gradle. Поэтому я подумал, что было бы неплохо реализовать этот сценарий с одним исходным кодом и несколькими apks с использованием скрипта сборки Gradle.

Теперь возникает мой вопрос: как я могу начать использовать Gradle для сборки, придерживаясь Eclipse? Все чтения, которые я нашел в Интернете, указывают на преобразование проекта во все еще незрелую Android Studio. Я'Я хотел бы отложить переход на Android Studio до тех пор, покас объявленбезопасный" для производственного использования Google.

В идеале яМне бы хотелось иметь возможность подключать сценарии сборки к конфигурациям отладки и запуска Eclipse, почти так же, как я могу выбирать различные цели сборки для отладки и архивирования в XCode. Если это'Возможно, какие шаги необходимы, чтобы сделать эту работу?

Я прошу прощения за капризное качество этих вопросов, но для меня это на самом деле довольно неизведанная страна. Любая помощь приветствуется.

Редактировать: Наша команда перешла на Android Studio в конце октября 2013 года, и начиная с версии 0.4 было обнаружено все меньше и меньше ошибок. Если ваша организация не слишком консервативна в отношении принятия сред разработки до 1.0, то я 'Призываю вас прыгнуть в холодную воду и попробовать поработать с Android Studio и ее системой сборки Gradle. Единственное, чего не хватает IMHO - это достойная поддержка юнит-тестирования.

 pyus1305 окт. 2013 г., 10:58
Студия намного лучше, чем Eclipse, я неНе знаю, почему вы хотите придерживаться Eclipse. Я предлагаю вам попробовать Android Studio, она вам точно понравится.
 Paul Verest15 апр. 2014 г., 10:58
Ответ обновлен.
 CommonsWare14 нояб. 2013 г., 18:35
@ spierce7: пока ничего. Я буду несколько удивлен, если она будет доступна до выхода Android Studio, просто потому, что у них так много инженеров. Обратите внимание, что Eclipse и текущий ADTМожно экспортировать файл сборки Gradle, описывающий проект, но этосидеть.
 CommonsWare14 июн. 2013 г., 13:26
AFAIK, в настоящее времяОфициальная поддержка сборок на основе Gradle из Eclipse отсутствует, за исключением сборок самостоятельно в командной строке. Поддержка проекта Eclipse / Gradle придет в конце концов.
 spierce714 нояб. 2013 г., 17:55
@ CommonsWare какие-либо обновления к этому, насколько вы знаете, еще? Может ли Eclipse строить с использованием новой системы Gradle?
 Chris14 июн. 2013 г., 13:30
Спасибо, это уже заставляет меня чувствовать себя некомпетентным :-)
 Chris07 окт. 2013 г., 08:39
Используя Android Studio для продуктивной разработки в течение трех месяцев, я должен сказать, что это не для слабонервных. Поддержка модульных тестов практически отсутствует, время сборки зашкаливает, DDSM нетt должным образом интегрированы, а управление зависимостями иногда кажется чёрной магией (например, чтобы понять, иногда нужно перезапустить IDE, чтобы Gradle работал с совершенно хорошим сценарием сборки). Тем не менее, выПравильно, мне лично это нравится больше всего :-).
 CommonsWare14 июн. 2013 г., 13:33
Однако, честно говоря, я понятия не имею, есть лиэто неофициальный / неподдерживаемый способ достижения вашей цели ... вот почему яя публикую их как комментарии. :-)

Ответы на вопрос(2)

Установите Gradle:

а.http://gradle.org/gradle-download/ б. Выберите 2.1 из раздела предыдущих выпусков. с. Распакуйте в удобную папку. (Пример: D: \ Graddle \ gradle-2.1) d. Установите системные переменные среды. я. GRADLE_HOME как D: \ Graddle \ gradle-2.1) ii. GRADLE_OPTS as -XX: MaxPermSize = 512 м iii. % GRADLE_HOME% \ bin to Path iv. Установите ANDROID_HOME (например: D: \ android-sdk) v. Добавить «% ANDROID% \ platform-tools » к пути.

установлен ли gradle. Может использовать gradle -version для проверки.

Установите подключаемый модуль Gradle Eclipse: a. Запустить Eclipse b. Помощь> Рынок Затмения c. Поиск «Gradle» д. Во что выбрать «Nodeeclipse / enide» е. Выбрать все в списке, принять и установить. е. Перезапустите затмение после установки.

Установить Gradle & Дома Java: а. Запустить затмение. б. Окно> Настройки> Gradle EnIDE c. Установите их, если не установлено: i. Установлен режим использования Gradle (например: D: \ Graddle \ gradle-2.1) ii. Установлен альтернативный JAVA_HOME для использования (например: C: \ Program Files (x86) \ Java \ jdk1.7.0_60) iii. Для параметров JVM для GRADLE_OPTS установлено значение «-XX: MaxPermSize = 512m»

Создайте проект: Разверните APK в затмении Java Explorer. б. Щелкните правой кнопкой мыши на build.gradle c. Выполнить как> Gradle GUI d. Командная линия: gradle чистой сборки e. Дождитесь завершения сборки: сборка в первый раз займет несколько минут. е. Если ошибка сборки dex или ошибка кучи Java: i. Откройте build.gradle в редакторе. II. Для мультидексных сборок - Установите соответствующий javaMaxHeapSize на основе вашего java (javaMaxHeapSize = 1024M для 32-битной Java, 2048M для 64-битной Java) iii. Может подписывать комментарий (// применить от: "$ RootProject.projectDir / jenkins_config / Gradle / signing.gradle»;) чтобы избежать подписи для отладочной сборки. внутривенно Постройте снова после этих исправлений.

Установите Build On устройство: a. Подключите устройство к т / х. б. Щелкните правой кнопкой мыши на build.gradle c. Выполнить как> gradle install Отладка Gradle для Android запуска d. Подождите, пока установка завершится

Отладочная сборка: а. Запустите приложение b. Присоединить отладчик (DDMS>Устройства> Приложение). с. Мы смогли отладить на нескольких проверенных устройствах.

Решение Вопроса

то убедитесь, что выходные папки разные (bin для ADT,build за градля). (Обновление для TL; DR: проверитьNodeclipse / Enide Gradle для Eclipse (рыночная площадь))

File -> Export -> Generate Gradle build files просто добавлюbuild.gradle с содержанием ниже (но проверьте версии). Существующие файлы не изменены.

com.android.tools.build:gradle версия должна бытьпоследний, Для грейдераgradle build как сказано вhttp://tools.android.com/tech-docs/new-build-system/user-guide, Пытатьсяgradle tasks для большего. (На моем медленном интернет-соединении потребовался 1 час! Для загрузки всех необходимых зависимостей)

Вогелла учебникhttp://www.vogella.com/articles/AndroidBuild/article.html еще не готов. Другие онлайн-уроки еще не законченыhttp://www.jayway.com/2013/02/26/using-gradle-for-building-android-applications/

Eclipse ADT еще не использует gradle, я думаю, что сначала он будет отшлифован в Android Studio. Было бы неразумно начинать использовать развивающиеся технологии в обеих IDE одновременно.

Увидетьbuild.gradle пример ниже. Если вы уже освоили gradle, то, возможно, Wizards вообще не нужен. Для последнихbuild.gradle шаблон для классической проверки проекта Androidgh.c / N / N-1 / б / м / o.n.e.e.g / документы / Android / build.gradle.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

android {
    compileSdkVersion 8
    buildToolsVersion "19.0.0"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}
</type></type>

ADT-Bundle не поставляется с Eclipse Marketplace, поэтому можно использовать сайт обновления.

Обновите репозиторий p2 дляGradle Integration для Eclipse является

http://dist.springsource.com/release/TOOLS/gradle

Но с версии 3.4.0 он не предоставляет редактора для файлов .gradle. Так что нет смысла иметь его для разработки под Android.

Я бы пошел со сборкой ADT по умолчанию, имея gradle в качестве вторичной сборки для экспериментов и следя за тем, чтобы поток ошибокhttp://tools.android.com/tech-docs/new-build-system становится редким (Это должно быть около формальной версии 1.0)

ОБНОВЛЕНИЕ: 2014-04-15

Алекс Руизs (от команды Android) Блог о Android, Gradle & ADT

Android»Модель Gradle

Вместо того чтобы создавать специфичные для IDE модели Android / Gradle, мы решили использовать независимое от IDE представление проекта Gradle. Таким образом, у нас есть единый источник информации, который легче поддерживать. Интеграция IDE будет реализована в виде плагина для каждой поддерживаемой IDE (в нашем случае, Eclipse и IDEA). Основным преимуществом этого подхода является то, что мы можем выпускать плагин Gradle независимо от плагинов интеграции IDE. Например, мы можем поставлять новую версию плагина Eclipse, в которой есть несколько исправлений ошибок, не затрагивая сторону Gradle Android.

По состоянию на апрель 2014 года плагин eclipse-gradle не совместим с плагином android-gradle:

Как ответили вВыпуск 57668 от команды Android (поднято @arcone)

Участник проекта № 2 x ... @ android.com

Плагин eclipse не совместим с плагином Android.

Вы не сможете импортировать проект Gradle для Android в Eclipse, используя поддержку Gradle по умолчанию в Eclipse.

Чтобы заставить его работать в Eclipse, нам нужно будет изменить плагин Gradle для Eclipse, так же, как мы модифицируем поддержку Gradle в IntelliJ.

То есть команда Android работает над плагином Gradle для IntelliJ, и плагин Gradle для Eclipse также нуждается в обновлении.

Естьусилия в Nodeclipse чтобы сгладить время перехода. И продолжайте развиваться в Eclipse, все еще экспериментируя или полностью используя gradle.

Nodeclipse / Enide Gradle для Eclipse (рынок)

Некоторые скриншоты для Gradle для Eclipse:

 Chris16 апр. 2014 г., 11:35
Вау, спасибо за обновление ответа. Тем временем наша команда полностью перешла на Android Studio, и мы очень довольны. Я полагаю, что этот ответ будет очень полезен для любых других разработчиков, которые изучают загадку системы сборки Android. Еще раз спасибо!
 Paul Verest16 апр. 2014 г., 14:33
Время решает все, но иногда спеша к более новому программному обеспечению будет тратить больше времени, чем ожидалось. По состоянию на апрель 2014 года новая система сборки на основе gradle составляет 0.9 и, похоже, выйдет в финальную версию 1.0. Наступает время для более широкого принятия.
 Martin19 апр. 2014 г., 23:42
Команда Google, похоже, полностью пренебрегает добавлением поддержки для создания приложений Android с gradle в затмении.

Ваш ответ на вопрос