Как включить JAR в APK без Eclipse? - PullRequest
4 голосов
/ 23 июля 2011

Я поддерживаю приложение для Android и не использую Eclipse.Я не использую Eclipse.Я использую ant и build.xml и build.properties.

У меня есть файл .jar в каталоге libs /.Мой код компилируется просто денди.Но когда я запускаю его на эмуляторе, выходной APK не включает .jar, поэтому я получаю трассировку стека:

ERROR/AndroidRuntime(470): java.lang.NoClassDefFoundError: com.google.ads.AdView

my build.properties выглядит так:1012 * И каталог libs / содержит мой файл .jar.

Что должно быть в build.xml, чтобы внешний файл .jar был включен в APK?

Редактировать: Теоретически этот ответ должен работать, но это не для меня.Это устарело?Что дает? Как добавить внешние библиотеки JAR в проект Android из командной строки

Ответы [ 5 ]

4 голосов
/ 04 апреля 2012

Я только что натолкнулся на похожую проблему и заметил, что библиотеки не должны помещаться в «myprojectdir \ lib».Когда я переместил их в «myprojectdir \ libs», все начало работать.

1 голос
/ 31 июля 2011

Оказывается, мне нужно было обновить версию ant, которую я использовал, до версии 1.8. В процессе компиляции я получал это сообщение об ошибке:

Предупреждение: ссылка out.dex.jar.input.ref не была установлена ​​во время выполнения, но был найден при разборе файла сборки, пытаясь решить. Будущее версии Ant могут поддерживать ссылочные идентификаторы, определенные в невыполненных цели.

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

0 голосов
/ 28 марта 2012

Решение:

  1. щелкните правой кнопкой мыши проект в дереве проекта и выберите Project Свойства
  2. выберите путь сборки Java
  3. выберите TAB Order и экспорт
  4. проверьте GoogleAdMobAdsSdk-4.0.4.jar (или ваш версия SDK)
  5. нажмите ОК
  6. чистый проект по меню Project -> Очистить
  7. перестроить проект (Project - построить автоматически)
0 голосов
/ 01 августа 2011

Вы используете стороннюю библиотеку, но, похоже, на ней не запускается DX.Убедитесь, что не только ваш код обрабатывается инструментом DX (я полагаю, что это делает Ant), но и все сторонние библиотеки, которые вы используете.Вы можете посмотреть сценарий 7Bee, который я использую для преобразования веб-приложений в формат Android davlik, так что он может работать и для вас.Вы можете найти больше информации о скрипте на странице Atjeews.

0 голосов
/ 23 июля 2011

Что должно быть в build.xml, чтобы внешний файл .jar был включен в APK?

Достаточно просто указать libs/.

мой build.properties выглядит так:

Эта строка не должна быть необходимой. Он не отображается в моих build.properties файлах, которые успешно создаются с файлами JAR.

Если вы используете dexdump -f classes.dex из каталога bin/ вашего проекта, вы сможете определить, попал ли com.google.ads.AdView туда. Если этого не произошло, то что-то странное в ваших скриптах сборки. Если это так, то, возможно, существует зависимый JAR, который вам не хватает (хотя я бы ожидал VerifyError в этом случае).

...