AAR в проекте Eclipse ANT

Есть ли способ использовать библиотеку .aar (с ресурсами) в проекте eclipse ant? Я знаю, что нет простого способа использовать формат .aar, как в gradle, но, может быть, есть какой-то обходной путь, чтобы разархивировать его и импортировать вручную?


person czajna666    schedule 21.05.2014    source источник


Ответы (4)


Это решение было полезно для меня

EDIT: Файл .aar — это просто ZIP-файл со следующим содержимым:

  1. AndroidManifest.xml (обязательный файл)
  2. class.jar (обязательный файл)
  3. Res/(обязательная папка)
  4. R.txt (обязательный файл)
  5. Активы / (Необязательная папка)
  6. libs/*.jar (параметр папки)
  7. jni//*.so (необязательная папка)
  8. proguard.txt (необязательный файл)
  9. lint.jar (необязательный файл)

Видите ли, в файле .aar у вас есть все необходимое для работы с библиотекой в ​​eclipse.

для создания библиотеки:

  1. СОЗДАЙТЕ новый проект (далее проект библиотеки) в свое рабочее пространство. Не забудьте пометить его как библиотеку.
  2. Оставьте пустой проект библиотеки папок src.
  3. .aar Распаковывает файл. Вы можете переименовать его в .zip и разархивировать или использовать любые инструменты.
  4. Скопируйте файл class.jar в проект библиотеки папок с файлами libs.
  5. Папка Res заменяет проект библиотеки папкой с файлом .aar res.
  6. Вы создали проект, который содержит почти все, что вам нужно.

Теперь давайте посмотрим, как настроить ваш проект для ссылки на проект библиотеки.

  1. В проекте вы хотите использовать библиотеку (далее цель проекта), добавленную в качестве проекта библиотеки зависимостей.
  2. Откройте файл AndroidManifest.xml .aar и обязательно скопируйте все, что требуется (разрешения, действия, службы, получатели...) в файле AndroidManifest.xml project target .
  3. Если есть, скопируйте все содержимое папки assets .aar файл в папку assets целевого проекта.
  4. Если есть, скопируйте все содержимое файла .aar libs из папки в папку libs target project.

  5. Сделать очистку рабочей области и перекомпилировать.

http://www.iphonedroid.com/blog/utilizar-ficheros-aar-en-eclipse/#.Vh3krye1Gko

person Ahmed Mostafa    schedule 14.10.2015
comment
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. - person Onik; 14.10.2015
comment
@Onik Спасибо, буду - person Ahmed Mostafa; 14.10.2015
comment
Почему я получаю -1 за ответ?! - person Ahmed Mostafa; 15.10.2015
comment
Этот ответ, безусловно, заслуживает +1. - person neevek; 09.12.2016
comment
Я не создавал, новый проект библиотеки. Я просто извлекаю файл .aar, копирую библиотеку из папки libs в папку libs в проект, где я хочу использовать, и добавляю в путь сборки, а также копирую содержимое манифеста и папку res. Теперь я могу ссылаться/использовать lib. - person No Name; 30.04.2017

Действительно, файлы aar — это просто архивные файлы. Таким образом, вы можете разархивировать его и найти файлы jar вместе с файлами ресурсов. На этот вопрос уже частично ответили здесь:

https://stackoverflow.com/a/21485222/1836870

Если вы хотите получить ресурсы внутри своей банки, вы можете попробовать переупаковать, как это предлагается в этом ответе:

https://stackoverflow.com/a/21417599/1836870

person PedroCactus    schedule 30.05.2014
comment
как разархивировать аар на маке? - person Shajeel Afzal; 30.04.2015
comment
@ShajeelAfzal, это простой zip-архив. просто измените расширение. support.apple.com/kb/ph19072?locale=en_US - person Vyacheslav; 14.11.2016

Основную часть работы может выполнить замечательный скрипт под названием deaar. Суть объясняет вещи, но в основном вы запускаете:

ruby deaar.rb [path/to/aar] [output_directory] 

Он выводит почти готовую к использованию библиотеку. Далее нужно запустить:

cd [output_directory]
android update lib-project -p . -t android-xx 

Замените xx версией Android, на которую вы ориентируетесь. Теперь поместите этот каталог туда, где находятся ваши файлы build.xml и project.properties. Наконец, добавьте в файл project.properties такую ​​строку:

android.library.reference.1=./output_directory 

Замените имя каталога на созданное вами. Вы можете использовать «.2» и так далее для дополнительных библиотек. И это все!

person goobliata    schedule 04.06.2016
comment
Это позволило мне создать приложение Google VR в рамках проекта Android ant! Просто примечание, которое должно быть ясным: есть один шаг, который необходимо сделать для правильной интеграции библиотеки, и он состоит в том, что данный aar не будет иметь никакого проекта. В другом случае вы получите НЕОЖИДАННОЕ ИСКЛЮЧЕНИЕ ВЕРХНЕГО УРОВНЯ с class.jar при создании проекта - благодаря stackoverflow.com/a/19332059 /939781 ) - person DNax; 09.11.2016
comment
Приведенная выше строка android update lib-project создаст для вас файл project.properties. - person goobliata; 04.12.2016

Twitter Fabric (Crashlytics) имеет подключаемый модуль kits-libs для управления зависимостями http://docs.fabric.io/android/fabric/eclipse.html.

И есть еще один проект плагина Gradle https://github.com/ksoichiro/gradle-eclipse-aar-plugin.

person javamonk    schedule 17.07.2015
comment
К сожалению, Fabric отказался... После долгих раздумий, когда Google прекратил поддержку Eclipse, мы решили прекратить поддержку Eclipse. Мы рекомендуем перейти на Android Studio. - person Hunter-Orionnoir; 13.04.2017