Проекты библиотеки Android и необходимость обновления вручную - PullRequest
9 голосов
/ 28 июня 2010

Если я внесу изменения в свой проект библиотеки Android, мне придется обновить вручную, а иногда и очистить все проекты, которые используют библиотеку.Это нормально?Есть ли способ обойти это?

Ответы [ 4 ]

3 голосов
/ 05 ноября 2010

Я нашел решение этой проблемы.Основная идея заключается в использовании собственного компоновщика муравьев, поскольку он имеет возможность обновлять любой конкретный ресурс или целое рабочее пространство при чистой, ручной или автоматической сборке.

Итак, вот шаги:

1) Создайте простой файл ant с одной пустой целью-заглушкой:

<?xml version="1.0" encoding="UTF-8"?>
<project name="android" >
  <target name="refresh" />
</project>

2) Назовите его "lib-refresher.xml""и поместите его в папку, где находится файл приложения .project.

3) Теперь перейдите к затмению, найдите проект, который использует библиотеку Android (не сам проект библиотеки).

4) Дляэтот проект перейдите по ссылке: Project -> Properties -> Builder

5) Создайте новый Builder, выберите Ant-задачу, выберите указанный «lib-refresher.xml», выберите базовую папку сборки.

6) важно - на вкладке Обновить задачи Ant Builder выберите «Определенные ресурсы» и выберите зависимый от библиотеки проект.

7) важно - На вкладках «Цель» выберите «обновить» цель для вариантов сборки: «Очистить», «Ручная сборка», «Автоматическая сборка».

8) важно - Сохраните изменения, переместите новый пользовательский сборщик муравьев в верхнюю часть стека сборщиков.

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

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

1 голос
/ 20 февраля 2013

У меня есть проект стенда в рабочей области (Android Library и Android App), и когда я внес какие-либо изменения в библиотеку, я должен обновить проект с приложением, но это решило мою проблему:

(Application) project properties -> Java Build Path -> Tab Projects

и тамя добавил свою библиотеку Android.

0 голосов
/ 02 октября 2010

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

Лучший способ, который я смог найти, - это использовать папку связанной библиотеки из зависимого проекта, над которым работает, таким образом, проект видит изменения вживую. При переходе к другому зависимому проекту вам все равно нужно обновить файлы, которые были изменены в другом проекте (обычно это просто папка src). Вам также может понадобиться обновить проект библиотеки, если вы хотите внести прямые изменения. Может показаться, что это не слишком помогает, но если вы тратите большие куски времени в одном зависимом проекте (как это было в моем случае до сих пор), это действительно помогает.

0 голосов
/ 28 июня 2010

Это правда. Если ваша библиотека создает JAR-файл, который вы добавили в проект Android, вам нужно будет обновить его (вы также можете просто щелкнуть правой кнопкой мыши и обновить ссылку на внешний JAR-файл, чтобы сэкономить время).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...