Как обновить импортированные модули с модификацией кода из проекта их внешней библиотеки в Gradle / Android Studio

Я разрабатываю приложение Android, в котором я недавно перешел из Eclipse в Android Studio и Gradle.

В моем прогнозе я создал 5 UI Libs и добавил их в качестве модулей в моем проекте, созданные мной libs были перенесены на мою учетную запись github (публично).

В eclipse, когда вы добавляете внешнюю зависимость для проекта, отмеченного как lib, при обновлении кода внешнего проекта вы очищаете свою сборку, ваш проект получает эти обновления, но в Gradle я заметил, что он создает физические копии, полностью независимые от их источников, Мой вопрос в том, как я могу изменить только внешние библиотеки и обновить свой проект.

Вот отрезанный от конфигурации моего градиента:

dependencies { // Libraries compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.gms:play-services:5.0.89' . . . compile 'com.squareup.picasso:picasso:2.4.0' // Projects compile project(':com.shehabic.helpicon') . . } 

Как использовать внешние библиотеки

Я читал, что не рекомендуется, но это практично для отладки:

  1. Файл> Структура проекта …> PLUS для добавления модуля

  2. Диалоги «Создать новый модуль»:

    • Выберите «Импорт пакета .JAR / .AAR»
    • Найдите и выберите свой пакет, но скопируйте путь до продолжения
    • Назовите свой пакет
  3. Назад в диалоговом окне «Структура проекта»:

    • Появится сообщение «Синхронизация проекта Gradle» .., но требуется щелкнуть OK, чтобы сборка началась. Вместо этого вы можете продолжить зависимость.
    • Выберите модуль «приложение», перейдите на вкладку «ЗАВИСИМОСТЬ» и знак «ПЛЮС», чтобы добавить МОДУЛЬНУЮ ЗАВИСИМОСТЬ
    • Выберите свой модуль
    • Нажмите OK для запуска сборки.

Это создает копию вашего пакета внутри вашего проекта Android, но также генерирует всю необходимую информацию и файлы, и вы всегда можете избавиться от копии или оставить ее в покое.

Ваш модуль добавлен в файл settings.gradle:

 ':app', ':module_name' 

Создан файл build.gradle для вашего модуля:

 configurations.maybeCreate("default") artifacts.add("default", file('package.jar')) по configurations.maybeCreate("default") artifacts.add("default", file('package.jar')) 

И зависимость была добавлена ​​в build.gradle вашего ': app':

 compile project(':module_name') 
  1. Теперь зайдите в файл build.gradle вашего добавленного модуля и вставьте скопированный путь:

configurations.maybeCreate("default") artifacts.add("default", file('X:\Java\Applications\YourApplication\dist\package.jar'))

Везде, где вы редактируете свой пакет, просто «Очистите и создайте» его. Всякий раз, когда вы хотите, чтобы ваше приложение отражало это «обновление» в пакете вне вашего проекта Android, просто выполните синхронизацию. Когда вы закончите отладку, вы можете удалить модуль, зависимость и старую копию и добавить последнюю сборку своего пакета в качестве копии.

Вы не должны добавлять внешнюю библиотеку в качестве модуля. Он будет копировать его в папке проекта.

Что вам нужно сделать:

1) Удалите папку библиотеки в текущем проекте. 2) Откройте файл seeting.gradle и добавьте следующее:

 include ':your_external_library_module_name', ':perhaps_second_external_library' project (':your_external_library_module_name').projectDir = new File('../path/to/your/external/library') project (':perhaps_second_external_library').projectDir = new File('../path/to/your/second/external/library') 

2) В файле 'build.gradle' добавьте зависимость как:

 dependencies { compile project(':your_external_library_module_name') compile project(':perhaps_second_external_library') } 

3) Синхронизируйте проект, и все готово.

Intereting Posts
Фиксированные прокрутки / перетаскивания заголовков в jQuery mobile Ошибка приложения Android Studio Wear – невозможно открыть PNG Необходимо обработать щелчок из класса NON-Activity (.java) Разработка Android на планшете: будет ли Eclipse работать на планшете Windows? Анимация затухания в градиенте формы формы Разделение двух целых чисел на Java дает мне 0 или 100? Как создать тост в телефонном разговоре? Получение CID, LAC и уровня сигнала всех сотовых вышек в диапазоне Отключить сообщения ANR во время отладки Как проверить, отключено ли соединение Bluetooth с устройством? Когда фрагмент фрагмента с SwipeRefreshLayout во время обновления, фрагмент замерзает, но на самом деле все еще работает Как изменить стиль размещения TextInput в React Native? LibGDX – Проведите пальцем вверх или проведите пальцем вправо и т. Д.? Где хранятся журналы закрытия Android-магазина? Не удается запустить Android JUnit Test в Eclipse. Застрял в: Запуск: создание локатора источника