Как я могу использовать внешние JAR в проекте Android?

Я создал проект Android и добавил внешний JAR (hessian-4.0.1.jar) в свой проект. Затем я добавил JAR в путь сборки и проверил его в Order and Export.

Заказ и экспорт игнорируются, и все classы из внешнего JAR отсутствуют во время выполнения.

Есть ли уловка для правильного включения необходимых classов из внешнего JAR при создании приложения Android с использованием плагина Eclipse? Я не хочу использовать муравей или Maven.

Для Eclipse

Хороший способ добавить внешние JAR в ваш проект Android или любой Java-проект:

  1. Создайте папку под названием libs в корневой папке вашего проекта
  2. Скопируйте файлы JAR в папку libs
  3. Теперь щелкните правой кнопкой мыши на файле Jar и выберите «Путь сборки»> «Добавить в путь сборки» , который создаст в вашем проекте папку «Связанные библиотеки»

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

Для Android Studio

  1. Если вы находитесь в Android View в обозревателе проектов, измените его на представление Project, как показано ниже.

введите описание изображения здесь

  1. Щелкните правой кнопкой мыши нужный модуль, где вы хотите добавить внешнюю библиотеку, затем выберите « Создать»> «Directroy» и назовите его « libs »,
  2. Теперь скопируйте blah_blah.jar в папку ‘ libs
  3. Щелкните правой кнопкой мыши blah_blah.jar, затем выберите « Добавить как библиотеку ». Это автоматически добавит и добавит в build.gradle как файлы компиляции (‘libs / blah_blah.jar’) и синхронизирует gradle. И все готово

Обратите внимание: если вы используете сторонние библиотеки, тогда лучше использовать транзитивные зависимости, где скрипт Gradle автоматически загружает JAR и JAR зависимости, когда запускается скрипт gradleиента.

Пример: compile ‘com.google.android.gms: play-services-ads: 9.4.0’

Узнайте больше о Gradle Dependency Mangement

Да, вы можете использовать его. Вот как это сделать:

  1. Ваш проект -> щелкните правой кнопкой мыши -> Импорт -> Файловая система -> yourjar.jar
  2. Ваш проект -> щелкните правой кнопкой мыши -> Свойства -> Путь сборки Java -> Библиотеки -> Добавить Jar -> yourjar.jar

Это видео может быть полезно, если у вас есть некоторые проблемы.

В настоящее время я использую SDK 20.0.3, и ни один из предыдущих решений не работал для меня.

Причина, по которой hessdroid работает там, где hess failed, состоит в том, что два файла jar содержат java, который скомпилирован для разных виртуальных машин. Байт-код, созданный компилятором Java, не может быть запущен на виртуальной машине Dalvik. Байт-код, созданный компилятором Android, не гарантируется для запуска на виртуальной машине Java.

В моем случае я имел доступ к исходному коду и смог создать для него файл jar для Android, используя описанный здесь метод: https://stackoverflow.com/a/13144382/545064

Я знаю, что OP заканчивает свой вопрос ссылкой на плагин Eclipse, но я приехал сюда с поиском, который не указывал Eclipse. Итак, здесь идет Android Studio:

  1. Добавьте файл jar в каталог libs (например, copy / paste)
  2. Щелкните правой кнопкой jar файле jar и выберите «Добавить как библиотеку …».
  3. нажмите «ОК» в следующем диалоговом окне или переименуйте, если вы решите.

Это оно!

Оказывается, я недостаточно хорошо смотрел на трассировку стека, проблема не в том, что внешний JAR не включен.

Проблема в том, что на платформе Android отсутствует javax.naming. * И многие другие пакеты, которые также имеют внешние JAR-зависимости.

Добавление внешних JAR-файлов и установка Order и Export в Eclipse работают как ожидается в проектах Android.

Перейти к текущему проекту

RightClick-> Properties-> Java Build Path-> Добавить файлы Jar в библиотеки -> Нажмите OK.

Затем он добавляется в файл ссылочных библиотек в вашем текущем проекте.

Java API Java не поддерживает javax.naming. * И многие другие javax. * Stuff. Вы должны включать зависимости как отдельные банки.

Если вы используете Android Studio, сделайте следующее (я скопировал и изменил ответ @Vinayak Bs):

  1. Выберите представление «Проект» в боковой панели проекта (вместо пакетов или Android)
  2. Создайте папку под названием libs в корневой папке вашего проекта
  3. Скопируйте файлы JAR в папку libs
  4. Боковой обзор будет обновлен, и файлы JAR будут отображаться в вашем проекте
  5. Теперь щелкните правой кнопкой мыши на каждый файл JAR, который вы хотите импортировать, а затем выберите «Добавить как библиотеку …», который будет включать его в ваш проект
  6. После этого все, что вам нужно сделать, это ссылки на новые classы в вашем коде, например. import javax.mail.*

в андроид-студии, если использовать gradle

добавьте это в build.gradle

 compile fileTree(dir: 'libs', include: ['*.jar']) 

и добавьте файл jar в папку libs

Если вы используете систему построения gradleиентов , выполните следующие действия:

  1. поместите файлы jar в соответствующую папку libs вашего приложения для Android. Обычно вы найдете его в Project > app > libs . Если папка libs отсутствует, создайте ее.

  2. добавьте это в свой файл build.gradle для своего app . (Не для вашего Project build.gradle )

     dependencies { compile fileTree(dir: 'libs', include: '*.jar') // other dependencies } 

    Это будет включать все ваши файлы jar доступные в папке libs .

Если вы не хотите включать все файлы jar , вы можете добавить их отдельно.

compile fileTree(dir: 'libs', include: 'file.jar')

создайте папку (например, lib) внутри вашего проекта, скопируйте банку в эту папку . теперь перейдите к настройке пути сборки, щелкнув правой кнопкой мыши по проекту, там, где выбран путь сборки

‘add jar’ перейдите к папке, которую вы создали, и выберите банку.

Копирование файла .jar в папку проекта Android не всегда возможно.
Особенно, если это результат другого проекта в вашей рабочей области, и он постоянно обновляется.

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

В пользовательском интерфейсе выберите:

Проект -> Импорт -> Файловая система -> yourjar.jar -> (Область параметров) Дополнительно -> Создать ссылку в рабочей области.

Ссылка сохраняется в файле .project :

   yourjar.jar 1 PARENT-5-PROJECT_LOC/bin/android_ndk10d_armeabi-v7a/yourjar.jar   

PARENT-5-PROJECT_LOC означает относительно файла проекта, 5 каталогов вверх (../../../../../).

Затем добавьте его в библиотеки:
Project -> Свойства -> Путь сборки Java -> Библиотеки -> Добавить Jar -> yourjar.jar

В этом же окне выберите вкладку « Заказ и экспорт » и отметьте свою банку, чтобы она была добавлена ​​в apk.

Interesting Posts
Давайте будем гением компьютера.