Не удалось найти Library.apk!
Мне удалось очень хорошо изменить структуру приложения, так что, за исключением нескольких методов в производном классе Activity, все находится в проекте библиотеки.
Это прекрасно работает, за исключением того, что Eclipse Console ( не LogCat!) выдает следующее сообщение об ошибке:
[2011-06-13 19:54:08 - MyLibrary] Could not find MyLibrary.apk!
Я очистил оба проекта (библиотека и приложение), перезапустил Eclipse, перестроил проекты, но это странное сообщение об ошибке сохраняется.
Что означает это сообщение об ошибке? (особенно в свете, что все, кажется, работает нормально)
Как мне избавиться от него?
UPDATE. Я попытался удалить проект и повторно импортировать его в соответствии с предложением ниже. Это не помогло. Затем я нашел этот поток, который помог мне понять, что у меня было <uses-library>
в приложении AndroidManifest.xml, ссылающемся на MyLibrary. Я удалил его, очистил проект и перестроил. Проблема сохраняется.
Теперь я подозреваю, что это "настоящая проблема", например. неправильная настройка некоторых путей или что-то еще с моей стороны. Что это может быть?
Ответы
Ответ 1
Я нашел источник проблемы!
Оказывается, что "с новой функцией библиотеки вы не указываете проекты Android, на которые вы зависите, в разделе" Путь сборки Java "свойств. Вы делаете это в разделе Android" Свойства ".
Итак, все, что мне нужно было сделать, это запустить Application Project Properties
, нажать вкладку Projects
, выбрать мой собственный проект библиотеки и нажать кнопку Remove
. Это. Больше проблем.
В Eclipse Java EE выберите Свойства проекта, затем выберите Project References
, затем проверьте FacebookSDK (см. захват экрана) ![enter image description here]()
Благодаря Lance Nanek!
Ответ 2
Это интересно... Я не совсем сделал то, что указывает ответ.
У меня есть отдельный проект андроида под названием "ConnectionHandler", который подключается к веб-сервису для извлечения информации. Этот проект не содержит классов активности. (Если это так, вам потребуются изменения в файле AndroidManifest в главном приложении, а также следующие инструкции ниже).
Чтобы использовать отдельный проект ConnectionHandler в качестве библиотеки, мне нужно было сделать следующее:
- В главном приложении > Выберите свойства проектa > Перейти к пути сборки Java > Добавить банки > Выбрать папку bin в ConnectionHandler > выберите connectionhandler.jar
- В проекте ConnectionHandler > Выберите свойства проектa > Android > Проверить isLibrary
- В MainApplication > Выберите свойства проектa > Перейдите в Android > Добавить ссылку на ConnectionHandler в разделе "Библиотека".
Это работает для меня, и я могу подключиться к моему веб-сервису, хотя у меня нет исходных файлов для этого в моем основном приложении. Все содержится в моей банке ConnectionHandler, на которую ссылаются.
Надеюсь, это поможет кому-то...
Ответ 3
Сегодня я начал получать это сообщение об ошибке в представлении консоли Eclipse, но оказалось, что это не проблема. Мое приложение будет создано и установлено на моем устройстве, и даже бежит на долю секунды (пока он не разбился). Это то, что выглядела моя консольная консоль на Eclipse:
[2013-06-03 09:42:25 - my-android] Android Launch!
[2013-06-03 09:42:25 - my-android] adb is running normally.
[2013-06-03 09:42:25 - my-android] Performing com.my.android.activity.MainActivity activity launch
[2013-06-03 09:42:25 - my-android] Uploading my-android.apk onto device '650rfs2e'
[2013-06-03 09:42:31 - my-android] Installing my-android.apk...
[2013-06-03 09:42:35 - my-android] Success!
[2013-06-03 09:42:36 - my-other-android] Could not find my-other-android.apk!
[2013-06-03 09:42:36 - android-SherlockFragment] Could not find android-SherlockFragment.apk!
[2013-06-03 09:42:36 - my-android] Starting activity com.my.android.activity.MainActivity on device 650rfs2e
[2013-06-03 09:42:36 - my-android] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.my.android/.activity.MainActivity }
Но после тщательного осмотра моего LogCat было исключено глупое исключение из фрагмента, который я пытался инициализировать. Как только я исправил свой фрагмент (который поднимал NPE), все получилось просто отлично, даже через мою консоль все еще говорит мне, что он не может найти эти библиотеки APK.
Ответ 4
Вы пытались удалить проект без удаления из жесткого диска и реимпорта проекта. Кажется, это работало для меня, когда у меня была эта проблема.
Ответ 5
Используя настройки Eclipse, вы можете получить доступ к libs по всему месту. У меня были ссылки lib в /libs и справочные папки библиотек. Мне пришлось удалить или удалить их из этих мест и вставить их в Android Dependencies (с помощью Preferences → Android и просмотра под "Is Library" ).
Правильный макет для моего проекта:
http://www.pasteall.org/pic/show.php?id=34513
Ответ 6
Для меня причина этого заключалась в том, что проект библиотеки и основной проект имели тот же пакет. Самый простой способ изменить пакет - right click on the library project > Android Tools > Rename Application Package
.
Ответ 7
Решение этой проблемы для меня состояло в том, чтобы удалить ошибочные записи из файла манифеста проектов библиотеки.
Авария произошла только во время выполнения, когда она попала в первое использование моего проекта библиотеки. Как только я изменил свойство Application Name, чтобы отобразить правильный класс приложения для проекта, который использовал проект библиотеки, он работал