Установка приложения lollipop для Android версии 5.0 показывает Неизвестный код ошибки при установке приложения: "-505"

При загрузке приложения появляется сообщение об ошибке с этим текстом: Неизвестный код ошибки при установке приложения: "-505"

Ответы

Ответ 1

Я нашел проблему с "INSTALL_FAILED_DUPLICATE_PERMISSION".

Если у вас включен Android 5.0 и многопользовательский режим, проверьте, есть ли у вас приложение, которое вызывает проблемы в учетной записи "Гость", и удалите его. Затем вернитесь к своему основному пользователю и попробуйте снова установить приложение. Это сработало для меня! Надеюсь, Google исправит это с помощью нескольких учетных записей.

Ответ 2

У этой проблемы тоже. Я выпускал приложения Sandbox и Production с разными именами пакетов, но с теми же разрешениями GCM.

Я начал использовать ${packageName} в файле AndroidManifest.xml.

Я изменил с

<!-- GCM specific permissions -->
<permission
    android:name="com.playgong.permission.C2D_MESSAGE"
    android:protectionLevel="signature"/>

<uses-permission android:name="com.playgong.permission.C2D_MESSAGE"/>

к

<!-- GCM specific permissions -->
<permission
    android:name="${packageName}.permission.C2D_MESSAGE"
    android:protectionLevel="signature"/>

<uses-permission android:name="${packageName}.permission.C2D_MESSAGE"/>

И в приемнике фильтр намерений из:

<category android:name="com.playgong"/>

в

<category android:name="${packageName}"/>

Ответ 3

В моем случае это происходило, потому что я публикую 2 приложения, которые основаны на одной и той же библиотеке (бесплатная или платная версия), в которой используются сервисы Google Play/Карты Google. В Google Картах используется поставщик контента, который требует, чтобы приложения, использующие вашу библиотеку, были правильно настроены для работы внутри библиотеки.

Fix: убедитесь, что defaultConfig.applicationId определен в разделе Android файла build.gradle для каждого проекта, используя вашу библиотеку

android {
    defaultConfig.applicationId = "com.company.appname"
}

Я бы рекомендовал использовать имя пакета для конкретного приложения. С этим исправлением имена поставщиков больше не будут конфликтовать, и ваше приложение будет работать как ожидалось.

Симптомы

1.) Ваши пользователи видят ужасную ошибку установки "-505" при установке вашего приложения из Play Маркета.

2.) Вы увидите это сообщение об ошибке при попытке установить второе приложение, использующее вашу библиотеку через Android Studio:

введите описание изображения здесь

3.) В вашей консоли вы увидите следующее сообщение:

Package couldn't be installed in /data/app/com.company.appname-1
com.android.server.pm.PackageManagerException: 
Can't install because provider name 
com.google.android.gms.measurement.google_measurement_service 
(in package com.company.appname) is already used by
com.company.otherInstalledAppName

Исправить это, чтобы убедиться, что defaultConfig.applicationId определен в разделе Android файла build.gradle для каждого проекта, используя вашу библиотеку

android {
    defaultConfig.applicationId = "com.company.appname"
}

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

Ответ 4

попробуйте удалить приложение с помощью adb:

adb uninstall com.yourpackage

Ответ 5

Я думаю, что ответ уже передан @Brigadier и @andude.

И это, похоже, началось с обновления Lollipop. Вот основная причина этого, и вы можете перекрестно проверить его в Logcat во время установки.

У вас на вашем устройстве есть 2 приложения, у которых есть общее разрешение на подписку. т.е. Если вы разрабатывали карты Google или любой другой модуль, для которого требуется специальная подпись (< имя-пакетa > .MAPS_RECEIVE или аналогично), то, безусловно, у вас есть два приложения, которые имеют одинаковое разрешение на подписку (то есть имя пакета в этих разрешения одинаковы).

Ответ 6

Это проблема, потому что приложение по-прежнему существует в вашем списке приложений после удаления, эта проблема возникает на Android 5.0 или новее (Lollipop). Для решения этой проблемы вы должны сделать следующее:

  • Перейдите к настройкам устройства и выберите приложения
  • В этом списке вы получите свое приложение с тегом "NOT INSTALLED"
  • Откройте приложение и выберите кнопку меню
  • Нажмите на опцииMenu и выберите "Uninstall для всех пользователей". После этого проблема будет решена.

Ответ 7

Эта ошибка означает, что в Android Manifest есть дублирующее разрешение. Не только в одном приложении, но и в другом приложении. Например, при установке приложения с установкой adb он показывает, что означает эта ошибка -505. Итак, первое приложение будет прекрасно установлено, но при установке второго приложения эта ошибка видна.

Сбой [INSTALL_FAILED_DUPLICATE_PERMISSION perm = com.example.permission.XYZ pkg = com.example]

Поэтому не обязательно иметь два приложения в appstore с таким же именем пакета Perm.

Ответ 8

Несколько пользователей, устанавливающих одно и то же приложение на одном устройстве, могут вызвать эту ошибку. Удалите с устройства другое приложение и оно должно работать.

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