2013-03-30 3 views
0

У меня есть некоторые библиотеки jar, от которых зависит мое приложение. Когда я копирую и вставляю банки в папку project/libs, он строит, компилирует и выполняет правильно.Libs folder vs build path dependency (ANDROID)

Однако, если я правой кнопкой мыши мой проект ->Build path ->Configure build path ->Libraries tab ->Add external JARs, и добавить те же банки, она до сих пор не дает мне сообщение об ошибке, это позволяет мне создавать и компилировать, но когда приложение выполнено сбой.

Почему?

+0

где вы помещаете файл jar, когда вы использовали параметр Добавить внешние параметры JAR для добавления jar as lib? – Pratik

+0

Вне приложения, в папке, где я храню все свои библиотеки вместе. – Twinone

+0

Вот почему я использовал «добавить внешнюю банку», – Twinone

ответ

0

Не используйте добавить внешнюю банку, это добавит как Абсолютный путь вместо этого, используя относительный путь, добавив jar, с этим вы должны поместить все файлы jar в каталог libs.

Если вы используете Add External Jar, он будет искать этот файл jar на основе пути Absolute так на устройстве, что путь не был найден, и вы получаете Force Close.

Попробуйте добавить такой же файл jar с помощью параметра Добавить Jar и Добавить внешний Jar.

проверка разница здесь https://stackoverflow.com/a/10679344/760489

1

Если вы поставите банки в LIBS папку она автоматически добавит эти JARs к вашему времени компиляции пути сборки. Что еще более важно, он помещает содержимое JAR в ваш файл APK, поэтому они будут частью вашего пути сборки во время выполнения.

Добавление jar для создания пути с помощью lib вручную решит проблему времени компиляции, но тогда ваше содержимое JAR не находится в вашем APK и, следовательно, не будет доступно вам во время выполнения.