Я пытаюсь создать повторно используемую библиотеку для моего проекта Android. Библиотека будет включать ресурсы. К сожалению, я не могу найти приличного объяснения того, как работают библиотеки Android.
Справочник по Android просто говорит о том, как настроить проект Eclipse и проект Ant. Я использую Maven и IntelliJ. И я бы подумал, как их настроить, если бы смог найти подходящее описание того, как все части работают вместе.
Так что мне интересно, хочет ли кто-нибудь сделать выбор и попытаться объяснить это. И вот некоторые из моих открытых вопросов.
Допустим, у меня есть проект AndroidApp
, который имеет AndroidManifest.xml
с пакетом app.foo
и производит AndroidApp.apk
.
У меня также есть проект AndroidLib
с пакетом app.bar
. Что мне нужно в AndroidManifest.xml
для AndroidLib
? Достаточно ли просто объявить пакет или должно быть что-то еще?
Теперь я хочу иметь ресурсы в обоих и ссылаться на ресурсы в AndroidLib
из AndroidApp
. Мне просто позвонить lib.bar.R
? Некоторые сообщения предполагают, что не будет никаких конфликтов идентификаторов. Правда или ложь?
Что такое доставляемый артефакт для AndroidLib
? Это тоже apk? Как мне развернуть оба? Или, что более важно, я могу создать один apk, который будет включать AndroidApp
и AndroidLib
?
Как проекты связаны друг с другом в среде разработки? Например, в IntelliJ я пытался просто включить модуль с AndroidLib
в AndroidApp
, но он просто скомпилировал ресурсы в AndroidApp
. (Возможно я пропустил uses-libary
). Если бы я использовал инструменты javac и Android, какая была бы последовательность?
Что-нибудь еще стоит знать?
Так или иначе. Я был бы признателен, если бы кто-то мог поделиться там базой знаний по этому вопросу.