Некоторые вопросы по библиотекам в Android - PullRequest
0 голосов
/ 16 мая 2018

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

Обратите внимание, что пользователь здесь означает пользователя SDK.

Вопросы:

  • Мне нужно заняться делом в своей библиотеке. Нужно ли пользователям декларировать мою активность в своем приложении, чтобы использовать ее? Могу ли я определить активность в манифесте моей библиотеки, экспортной библиотеки как aar? Это работает?
  • Моя библиотека нуждается в некоторых разрешениях, например, чтобы проверить, доступен ли интернет. Как и в случае, описанном выше, могу ли я определить свои разрешения в манифесте моей библиотеки?
  • aar или jar? В чем разница, кроме вещей, упомянутых в Google документах. Любые проблемы поддержки с aar, например, более низкие версии API не поддерживают его или другие IDE (Eclipse? Все еще используется?) Не поддерживают его? Я имею в виду некоторые практические проблемы с aar, если они есть.

Я также открыт для любой документации или любой ссылки, чтобы помочь мне.

В прошлом я разрабатывал для Android, последний раз, когда Android Studio только что была выпущена в альфа-версии. Теперь это похоже на новый мир:)

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Аар или банка?

как:

  • jar (стандартная не-android-библиотека) с независимым от Android кодом (java-интерфейсы, java-datastctures, перенос данных через веб-сервис, businesslogic, ......).
    • преимущество: на настольном ПК банку можно тестировать на джунтах без андроида
    • преимущество: банку можно повторно использовать в настольных приложениях java.
  • aar (специфичная для Android библиотека) получает специфичные для Android данные / код (манифест с запрошенными интернет-разрешениями, активность с ресурсами, код для запроса андроидных разрешений, android-sqlite-database).
    • аар имеет зависимости от банки

Я успешно использую это разделение в своих проектах Android ToGoZip и APhotoManager

0 голосов
/ 16 мая 2018

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

Пользователям не нужно объявлять действия библиотеки в манифесте приложения. Это будет работать. Но не забудьте объявить тему в файле стиля библиотеки и применить ее к своим действиям (действиям, которые находятся в библиотеке).

Моя библиотека нуждается в некоторых разрешениях, например, чтобы проверить, доступен ли интернет. Как и в случае с вышеуказанным вопросом, могу ли я определить свои разрешения в манифесте моей библиотеки?

Все разрешения, которые вам нужны внутри библиотечного модуля, вы можете упомянуть в манифесте библиотеки. Но вы должны позаботиться о том, чтобы спрашивать рискованные разрешения. Допустим, если вашей библиотеке требуется разрешение WRITE_EXTERNAL_STORAGE, поэтому всякий раз, когда вы собираетесь вызывать библиотечную активность, вы должны запрашивать такое разрешение во время выполнения. Вы получите больше здесь

Аар или баночка? Если вы собираетесь на чистый андроид, тогда идите на Аар. Вы получите больше обсуждений на здесь

...