2013-11-30 2 views
4

Я построил свое приложение, используя проект библиотеки (который я также создал, чтобы повторно использовать его в других приложениях). Он строит отлично, но когда я пытаюсь установить &, запустите его через Eclipse (Ctrl + F11), я получаю этот красный Не удалось найти MyLib.apk! ошибка линии в моей консоли:Проверить или не проверить «IsLibrary»?

выход

консоли:

[2013-11-30 14:42:59 - MyApp] ------------------------------ 
[2013-11-30 14:42:59 - MyApp] Android Launch! 
[2013-11-30 14:42:59 - MyApp] adb is running normally. 
[2013-11-30 14:42:59 - MyApp] Performing com.sfinja.myapp.ActivitySubClass activity launch 
[2013-11-30 14:42:59 - MyApp] Automatic Target Mode: using device '5752068FC64500EA' 
[2013-11-30 14:43:00 - MyApp] Application already deployed. No need to reinstall. 
[2013-11-30 14:43:00 - MyLib] Could not find MyLib.apk! 
[2013-11-30 14:43:00 - MyApp] Starting activity com.sfinja.myapp.ActivitySubClass on device 5752068FC64500EA 
[2013-11-30 14:43:00 - MyApp] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.sfinja.myapp/.ActivitySubClass } 

Так что я искал и нашел SO this thread, который решает эту проблему, просто сняв флажок Is Library проекта библиотеки.

Конечно, в моем проекте библиотеки (MyLib) установлен этот флажок, поэтому я снял флажок, и я больше не получаю эту ошибку в консоли, но затем начал получать исполняемые команды NullPointerExceptions.

Это ясно говорит о том, что у меня есть проблема в моих настройках проекта/конфигурациях (хотя она строит штраф), но для того, чтобы найти то, что это, я считаю, мне нужно понять немного больше об этом запутанном флажком:

  1. У меня есть другие проекты библиотеки, используемые в этом приложении, все с Is Library checkbox проверено, но ни одна из них не представляет проблему, выставленную MyLib. Итак, проверить или не проверить «IsLibrary»?
  2. Если это библиотека, то почему флажок Is Library не установлен? Правильный ответ этого потока от 2 лет назад все еще действителен?
  3. Является Не удалось найти АПК! по существу «красная сельдь» для чего-то еще?

ответ

2

Я помню, как сталкивался с проблемой, похожей на вашу, которая приводила меня в бешенство. Я также подумал, что снятие отметки с проектов Является ли библиотека checkbox решением этой проблемы, но на самом деле это не так.

После большого количества потерянных часов я тогда нашел виновник: дополнительная, резервная, нечестивая и полностью ввести в заблуждении и деструктивная линия проект .classpath:

<classpathentry kind="src" path="/RogueProjLib"/> 

(я понятия не имел, как он пробрался в)

Как только я удалил его, «Не удалось найти RogueProjLib.apk!» ушел, а проект был установлен и работал нормально, с Является ли библиотека checkbox checked!

Исходя из этого, я хотел бы ответить на ваши вопросы следующим образом:

  1. Ваши другие библиотечные проекты, вероятно, не в том, что .classpath ... Да, не проверить ли библиотека.
  2. Вопрос не имеет значения, потому что он должен быть проверен. Ответ от 2 лет назад больше не соответствует последнему набору Eclipse/ADT.
  3. Да, это красная сельдь: вместо того, чтобы говорить вам «в моем .classpath есть странная строка, с которой я не знаю, что делать», она просто испускает это загадочное сообщение «Не удалось найти APK».

Надеюсь, это поможет.

Смежные вопросы