пятница, 13 марта 2015 г.

Как добавить jar библиотеку в проект

Информация для тех, кто по какой-то причине ещё не знает, как это сделать. Актуально для XE7/XE7 UPD1/*XE8. До этого, я уже писал несколько статей по работе с JAVA файлами (на XE6), вот они «Как создавать обёртки для JAVA-кода» и «Как подключить и использовать свой JAVA-класс». Начиная с версии XE7 работу с Java кодом значительно упростили, поэтому я решил рассказать об этом ещё раз.


Начнём.
Чтобы добавить jar библиотеку в проект, нужно:
  1. Сгенерировать OP обёртку для библиотеки
  2. Прописать обёртку в коде
  3. Добавить библиотеку в проект
  4. Профит :)
Как генерировать обёртку.
Сразу оговорюсь, что генерировать обёртку можно как для jar файла, так и для java файла.
Для генерации обёрток, компания Embarcadero поделилась с нами утилитой Java2OP.exe ("Java To Object Pascal"). Работает она через командную строку, но в использовании ничего сложного нет.

Качаем утилиту http://cc.embarcadero.com/item/30007.
  • Распаковываем.
  • Проверяем, установлен ли у нас JDK(JDK 1.7+) (Лежит  тут C:\Program Files\Java\jdk1.7.0_25\)
  • Далее нужно прописать глобальный путь до JDK, сделать это можно несколькими способами
  • a. Прописываем в командной строке «SET PATH=%PATH%;C:\Program Files\Java\jdk1.7.0_25\bin»
  • b. Сделать всё вручную, способ описан в статье "Как подключить и использовать свой JAVA-класс" (пункт «а) Необходимо прописать глобальный путь до главной директории JAVA»)
  • Теперь пишем в командной строке  «Java2OP.exe -jar mylib.jar» (предварительно перейдите в директорию с exe файлом «Java2OP.exe»)
  • И через секунду (время зависит от размера библиотеки) в этой же папке появится файл «Android.JNI.Interfaces.pas». Это и есть наша обёртка.

Опции утилиты (полный список вы найдёте на странице Java2OP.exe, the Native Bridge File Generator for Android):
  • -jar – список jar библиотек (разделяются пробелом)
  • -source – список папок (разделяются пробелом), в которых содержатся исходники (т.е. .java файлы)
  • -classes – список имён классов или пакетов (разделяются пробелом) для экспорта
  • -unit – имя выходного файла (по умолчанию: Android.JNI.Interfaces)
Примеры (из справки):
  • Java2OP.exe -classes android.net.ConnectivityManager android.location.*
  • Java2OP.exe -jar mylib.jar
  • Java2OP.exe -jar mylib.jar -classes com.mypackage.ClassName
  • Java2OP.exe -source myproject/src -unit Android.JNI.UnitName
Готовую обёртку положите в папку с вашим проектом и пропишите её в Uses.
На этом с обёртками всё.

Добавляем jar библиотеку в проект.

Кладём jar файл в папку с нашим проектом. 

Далее в среде разработки:
  1. В Project Manager выбираем платформу «Android»
  2. Добавляем jar файл в папку «Libraries»
  3. Профит :)
Более подробную инструкцию вы найдёте в справке (Adding A Java Library to Your Application Using the Project Manager).

Готово. Теперь ваша jar библиотека доступна и готова для использования в проекте.

5 комментариев:

  1. Попробуй всё то-же, только через переменные среды--системные переменные--...

    ОтветитьУдалить
    Ответы
    1. Не понял, в чём вопрос? В статье указаны оба способа, через CMD и вручную.

      Удалить
    2. Я не очень давно этим занимаюсь и выражаюсь не очень понятно. Я сделал рабочий Applet-player, но кроме MPEG(MPG)-video он ничего не воспроизводит. Пытаюсь подключить к JMF библиотеку jffmpeg-1.1.0.jar. Ни через студию, ни через cmd.exe это не выходит.

      Удалить
    3. Хм... но JMF вроде как не поддерживается в Андроиде.

      Удалить
    4. По поводу поддерживаемых форматов, смотрите файлы студии из статьи http://delphifmandroid.blogspot.ru/2013/11/delphi-xe5-ios-android.html
      Если нужен какой-то другой формат, то лучше поискать компонент(delphi/с++) или либу предназначенную для Андроида.

      Удалить