Установка приложения 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
Несколько пользователей, устанавливающих одно и то же приложение на одном устройстве, могут вызвать эту ошибку. Удалите с устройства другое приложение и оно должно работать.
Я столкнулся с аналогичной проблемой, однако в моем случае это была старая разработка, которая сидела на моем устройстве, и когда я пытался установить из игрового магазина, эта ошибка появлялась.