Папка RES не связана с .apk -> проблема с парсингом пакета

По какой-то странной причине папка «res» никогда не связывается с моими приложениями при их экспорте — в результате, когда я пытаюсь установить эти apk, я получаю известное сообщение об ошибке «возникла проблема при разборе пакета».

Во время экспорта не отображаются сообщения об ошибках... :/

Редактировать: обратите внимание, что я НЕ имею в виду часто описываемую проблему несоответствия версии операционной системы устройства! Проблема в том, что - по какой-то причине я не знаю- экспортированный APK (который на самом деле является файлом .zip, как мы знаем) не содержит подпапку «res», как обычно, а только подпапку META-INF. Proguard отключен, чтобы исключить это как возможную причину. Итак, по какой-то причине ресурсы приложения не связаны с целевым .apk, и пакет действительно НЕдействителен. Интересно, что «отладочная» версия для запуска на локальном виртуальном устройстве прекрасно скомпилирована и содержит подпапку «res». Тот же исходный код создает правильный пакет .apk на другом компьютере. Значит, проблема, похоже, в настройке ADT/Eclipse?


person richey    schedule 05.03.2014    source источник


Ответы (2)


Ошибка синтаксического анализа появляется только тогда, когда у вас есть ошибка несоответствия версии SDK. давайте предположим, что если моя версия minSDK в манифесте равна 14, и я пытаюсь установить приложение на устройство 2.2 с версией SDK 8, тогда это даст мне ошибку синтаксического анализа. Пожалуйста, предоставьте файл манифеста.

person Silvans Solanki    schedule 05.03.2014
comment
Но вы должны быть уверены, что ваш код совместим с более ранними версиями Android. То есть: если вы используете фрагменты и не включили библиотеку поддержки, что произойдет на более старом устройстве? - person Phantômaxx; 05.03.2014
comment
Спасибо за ответ, но это не моя проблема. Я отредактировал описание проблемы выше, чтобы предоставить более подробную информацию. Извините за путаницу! - person richey; 05.03.2014

Есть некоторая альтернатива для решения этой проблемы,

Случай 1:

  • Перейдите в меню настроек устройства (значок)
  • Безопасность
  • Администрирование устройства
  • Неизвестные источники
  • Галочка Неизвестные источники
  • Теперь попробуйте установить файл .apk. Надеюсь, это поможет.

Случай 2:

Если версия ОС Android устройства несовместима с файлом .apk. Например, файл .apk создан в минимальной версии SDK 15 и цели SDK 17 (ICS), а у вас версия устройства 2.3 (пряничный пряник) или любая другая.

Мы можем изменить версию сборки в любое время через Manifest.xml

<uses-sdk android:minSdkVersion="8" /> // or as per your requirements 

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

Пока вы обновляете свой APK на рынке, он сначала проверяет совместимость устройства, а затем разрешает установку, иначе ваше приложение не будет отображаться на вашем устройстве.

person Chintan Khetiya    schedule 05.03.2014
comment
Но вы должны быть уверены, что ваш код совместим с более ранними версиями Android. То есть: если вы используете фрагменты и не включили библиотеку поддержки, что произойдет на более старом устройстве? - person Phantômaxx; 05.03.2014
comment
@ArtooDetoo Да, у меня есть минимальная версия SDK, - person Chintan Khetiya; 05.03.2014
comment
Этого не достаточно. Если ваш код JAVA требует ВЫСОКОГО уровня API, а у вас есть только устройство с НИЗКИМ API, он не будет работать. minSdkVersion не добавляет более высокий программный уровень. - person Phantômaxx; 05.03.2014
comment
Спасибо за ответ, но это не моя проблема. Я отредактировал описание проблемы выше, чтобы предоставить более подробную информацию. Извините за путаницу! - person richey; 05.03.2014