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

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

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

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

Ответ 1

Для затмения

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

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

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

Для Android Studio

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

Missing Image

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

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

Пример: составить com.google.android.gms: play-services-ads: 9.4.0 '

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

Ответ 2

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

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

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

Ответ 3

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

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

В моем случае я имел доступ к исходному коду и смог создать для него файл jar для Android с помощью метода, который я описал здесь: fooobar.com/questions/13814/...

Ответ 4

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

  • Добавить jar файл в каталог libs (например, скопировать/вставить)
  • Щелкните правой кнопкой мыши по файлу jar и выберите "Добавить как библиотеку..."
  • нажмите "ОК" в следующем диалоговом окне или переименуйте, если вы решите.

Что это!

Ответ 5

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

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

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

Ответ 6

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

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

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

Ответ 7

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

Ответ 8

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

  •   
  • Выберите представление Project в боковой панели проекта (вместо пакетов или Android).  
  • Создайте папку libs в корневой папке проекта  
  • Скопируйте файлы JAR в папку libs  
  • Боковой обзор будет обновлен, и файлы JAR будут отображаться в вашем проекте.  
  • Теперь щелкните правой кнопкой мыши на каждый файл JAR, который вы хотите импортировать, а затем выберите "Добавить как библиотеку...", который будет включать его в ваш проект.  
  • После этого все, что вам нужно сделать, это ссылки на новые классы в вашем коде, например. import javax.mail.*  

Ответ 9

в студии android при использовании gradle

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

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

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

Ответ 10

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

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

  • добавьте это в свой 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')

Ответ 11

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

"добавить jar" перейдите к созданной папке и выберите банку.

Ответ 12

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

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

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

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

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

<linkedResources>
    <link>
        <name>yourjar.jar</name>
        <type>1</type>
        <locationURI>PARENT-5-PROJECT_LOC/bin/android_ndk10d_armeabi-v7a/yourjar.jar</locationURI>
    </link>
</linkedResources>

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

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

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