«Ошибка анализа: проблема с парсией пакета» при установке приложения Android

Я получил эту ошибку при установке приложения Android ( Parse Error : There is a problem parsing the package. ). Я сделал следующие шаги.

  1. Впервые я установил приложение, и он отлично работает.

  2. Я внесла изменения в существующее приложение и изменил версию нет в файле манифеста.

      
  3. Затем я экспортирую приложение и завершу процесс подписи кода. Для этого щелкните правой кнопкой мыши узел «Проект»> «Экспортировать». Там вы увидите волшебника. Выполните шаги и завершите подпись кода.

  4. Я получил файл ARDemo.apk, затем я изменил его имя на ARDemo1.apk

  5. Затем я отправил этот файл apk на мобильную SD-карту и начал установку, я получил вышеуказанную ошибку.

Я googled, они говорят, что проблема с распаковкой файла манифеста.

Может ли кто-нибудь сказать мне, что может быть не так со мной?

Вы сказали, что при первом запуске приложения он работал нормально.

Единственная разница в шагах, которые вы указали между двумя версиями:

  1. Номер версии (я предполагаю, что это не участвовало в нарушении чего-либо)
  2. Код
  3. Имя файла .apk

Попробуйте переименовать файл ARDemo1.apk обратно в ARDemo.apk (обязательно создайте резервную копию старой версии) и посмотрите, поможет ли это. Я предполагаю, что это имеет какое-то отношение к названию apk.

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

Надеюсь, что вы попадете куда-нибудь.

Приветствия, Джозеф

Установка может дать указанную ошибку, по крайней мере, в следующих случаях:

  • Имя пакета изменяется после подписания : используйте точное имя в качестве подписанного пакета (вместо этого отредактируйте имя в манифесте)
  • Пакет скомпилирован на более высоком уровне API : исправьте уровень API в файле манифеста
  • Пакет выполняется с SD-карты : Запустите (установите) apk -файл из памяти телефона или используйте команду adb для ее установки

Я только видел ошибку синтаксического анализа, когда версия Android на устройстве была ниже версии, с которой было скомпилировано приложение. Например, если приложение скомпилировано для android OS v2.2, и ваше устройство имеет только ОС Android v2.1, вы получите ошибку синтаксического анализа при попытке установить приложение.

Причина в том, что apk не подписан. После подписания apk проблема будет решена. http://ionicframework.com/docs/guide/publishing.html Пожалуйста, используйте ссылку по инструкциям, чтобы подписать apk.

Если вы компилируете и экспортируете файл apk в SDK версии 2.1, он не будет работать ни на одной версии Android ниже вашего экспорта SDK «2.1». Android-совместимое программное обеспечение не совместимо с обратной совместимостью. Например, если вы программируете с помощью андроида NDK (дополнение к пакету андроида SDK), который разрешает разработку в семействе C / C ++, это только совместимо с Android 2.2, Android 2.2 и ниже поддерживает только java-сборки. Поэтому вы повторите ошибку ошибки «Ошибка при анализе пакета».

Вместо того, чтобы стрелять в темноте, выясните причину этой ошибки, установив ее через adb :

 adb -s emulator-5555 install ~/path-to-your-apk/com.app.apk 

Замените emulator-5555 на имя вашего устройства. Вы можете получить список, используя:

 adb devices 

После неудачи это даст повод. Общие причины и их исправления:

  1. INSTALL_PARSE_FAILED_NO_CERTIFICATES : Ссылка
  2. INSTALL_FAILED_UPDATE_INCOMPATIBLE : Ссылка

Проверьте, поддерживает ли ваше устройство версию, указанную в minSdkVersion, в AndroidManifest.xml. Если не указать более низкую версию и повторите попытку

Я получил ту же ошибку (Parse Error, проблема с parsingом пакета) при попытке установить пакет .apk из электронной почты. Я смог обойти эту проблему, установив установщик сторонних пакетов ApKatcher:

http://www.addictivetips.com/mobile/install-android-apps-from-gmail/

ApKatcher – не единственное решение. Мой коллега столкнулся с проблемой, установив Astro File Manager.

Вы можете найти оба приложения в Android Marketplace.

Я не повторяю то, что здесь указано, чтобы ввести хранилище ключей, пароль и т. Д. Попробуйте

Build -> Generate Signed APK -> [Input] — Далее —> выберите BOTH

  • V1 (подпись Jar)
  • V2 (полная подпись APK)

Я не знаю почему, но, по крайней мере, это сработало в моей ситуации.

Аналогичный вопрос, используя этот «заимствованный» и слегка модифицированный код:

  Intent intent = new Intent(Intent.ACTION_VIEW); File newApk = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "myapp.apk"); intent.setDataAndType(Uri.fromFile(newApk), "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); result = true; 

Необходимо изменить создание файла на это (запятая вместо плюса в конструкторе Файла, отсутствует «/» после каталога загрузки):

  File newApk = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "myapp.apk"); 

Другая возможность заключается в том, что вы сохранили файл apk в папке PRIVATE приложения, а затем попытаетесь установить (путем запуска намерения с вашего кода). в этом случае, когда вы начинаете умываться, вы получаете пакет анализа ошибок. В этом случае возникшая ошибка связана с разрешениями. Дело в том, что сохранение файла в частные папки не является хорошей практикой, однако, если вы действительно этого хотите, вы должны записать файл в MODE_WORL_READABLE при его загрузке. Учтите, что MODE_WORLD_READABLE устарел, и это решение не самое лучшее, так как оно имеет некоторые проблемы с безопасностью. Лучше всего сохранить файл во внешнем хранилище.

У меня была пара плохих тегов в файле манифеста.

   

В основном получил, когда я скопировал код неудачной meta-data из файла pdf. Дерьмо.

Другой проблемой, вызывающей эту ошибку, может быть установка APK с ограниченной точки монтирования SD-карты /mnt/media_rw/MicroSD .

Используйте неограниченную точку монтирования /Removable/MicroSD .

И чтобы помочь новым читателям, другой причиной могут быть ошибки в файле манифеста. У меня был туманный android:service как android.service и столкнулся с той же ошибкой …

Для тех, у кого есть эта проблема, единственный раз, когда я когда-либо получал эту ошибку, было то, что версия API в вашей конфигурации Android Build не соответствует тому, что находится на физическом устройстве.

Зайдите в Eclipse и щелкните правой кнопкой мыши на своем проекте и перейдите к свойствам. Выберите Android – КОТОРОЕ ПРИНИМАЕТ ВАС, ЧТОБЫ ЗАРЕГИСТРИРОВАТЬСЯ. Настройте целевую аудиторию для соответствия устройству и проверьте, устраняет ли это проблему.

У меня была эта проблема, даже когда я указал правильную версию minSDK и targetSDK. Моя проблема заключалась в том, что я использовал "android:theme="@android:style/Theme.NoTitleBar.Fullscreen" в активности запуска, на устройстве Jellybean. Когда я удалил этот атрибут, он сработал.

Одна из причин может заключаться в том, что ваше имя деятельности не определено в манифесте

    

выше код создавал ту же проблему со мной

Как уже отмечалось в двух других ответах, при установке с SD-карты могут возникнуть проблемы. В моем случае я распространял свое приложение с помощью вложения электронной почты, и он обычно работал нормально. Просто откройте электронное письмо и загрузите приложение (оно, по-видимому, идет на SD-карту) и снова нажмите на него, и оно будет установлено.

Но однажды это не сработало, и оказалось, что это связано с тем, что у меня был телефон, подключенный к моему компьютеру разработки через USB, и это поместило SD-карту в другом режиме или что-то в этом роде. Таким образом, решение было просто отключить телефон от ПК, а затем отправить электронное письмо еще раз и загрузить приложение снова. Или поместите USB-соединение в режим «только зарядка», чтобы SD-карта не была «подключена» к ПК.

Вы также можете проверить журналы на устройстве, чтобы убедиться, что это что-то простое, как проблема с разрешениями. Вы можете проверить журналы с помощью adb с компьютера-хоста / отладки:

 adb logcat 

Или, если у вас есть доступ к консоли (или при использовании консоли Android-x86, набрав Alt + F1 ), вы можете проверить журналы с помощью команды logcat :

 logcat 

У меня была та же проблема, что и файл apk, экспортированный из android‌ Tools > Export . Вместо этого я использовал файл apk в папке bin, и он сработал!

Файл PS apk в папке bin создается после первого запуска приложения в eclipse.

Я столкнулся с тем же сообщением об ошибке «Ошибка анализа: проблема с парсингом пакета» с моими подписанными APK, как и другие, но я подозреваю, что это может быть вызвано разными причинами.

Чтобы проверить это, я сделал следующее:

Установка Windows 8.1 Eclipse ADT Сборка: v22.6.2-1085508

Я создал типичное новое приложение Helloworld, принимающее все значения по умолчанию.

Я успешно запускал приложение на эмуляторе и в реальном времени.

Затем я загрузил и установил apk на свое мобильное устройство и успешно выполнил его.

Он создал apk в папке bin размером 782 КБ.

Затем я экспортировал приложение Helloworld в ту же папку bin, подписывая приложение из моего хранилища ключей, которое ранее использовалось для продвижения в Google Play.

Он создал APK размером 385 КБ (заменив оригинальный apk).

Я загрузил apk на свое устройство, и когда я начал его устанавливать, я получил сообщение об ошибке «Ошибка синтаксического анализа: проблема с parsingом пакета» (это тот же пакет, который загружен и установлен, когда он выполнен в виде не экспортируемой формы).

  • Ошибка MediaPlayer setDataSource со статусом = 0x80000000 для Ringtone, установленного по пути файла 2.3.4
  • Получить время выполнения видео, воспроизводимого при видеообъявлении?
  • Android - получить значение от HashMap
  • Анимированная иконка для ActionItem
  • Как установитьContentView в fragmentе?
  • Не удается перенести проект в Gradle в Android Studio
  • Android Linkify text - Spannable Text в виде единого текста - как Twitter tweet
  • Как установить службы Google Play в виртуальную машину Genymotion (без поддержки перетаскивания)?
  • Попытка запуска службы при загрузке на Android
  • Объявление активности в AndroidManifest.xml
  • Как добавить ярлык приложения на рабочий стол при установке приложения?
  • Interesting Posts

    Назначьте переменную внутри блока переменной переменной вне блока

    Алгоритм анаграммы в java

    Как получить фактическую ширину и высоту изображения с помощью jQuery?

    Установите Adobe Flash 64-бит в IE8 на W2K8 R2

    Объектно-ориентированное программирование в C

    Как обнаружить цветные пятна на изображении с помощью OpenCV?

    Установить размер на фоновое изображение с помощью CSS?

    Как я могу обмениваться сеансом между несколькими поддоменами в ASP.NET?

    Что такое пул строк Java и как он отличается от нового String («s»)?

    jackson: как добавить настраиваемое свойство в JSON без изменения POJO

    Ошибка: Достигнуто 10 $ digest () итераций. Aborting! с динамическим сортировочным предикатом

    WPF – Как создать кнопку изображения с шаблоном

    Файл открывается вместо загрузки в Internet Explorer в href-ссылке

    Как узнать, какая программа создает файл / папку на моем диске C:?

    Как полностью удалить Wondershare Allmytube из Windows ?

    Давайте будем гением компьютера.