Android Play商店错误-505

时间:2016-01-05 17:49:13

标签: android google-play google-play-services apk

将APK上传到Android Developer Console时,一切正常,但Android 5.0及更高版本上有一些用户无法安装或升级APK。这些用户会看到Google Play商店错误505.

3 个答案:

答案 0 :(得分:32)

有几种不同的资源可以告诉您505错误是一种权限冲突。从Android Lollipop开始,您将无法再使用相同名称https://developer.android.com/about/versions/android-5.0-changes.html#custom_permissions的重复自定义权限。如果您检查stackoverflow是否存在此错误,您会发现有多个人提供此解决方案的报告。虽然这有时可能是导致此错误的原因,但还有其他几个原因导致此错误和其他冲突发生。

1。多个应用定义了相同的权限

如果两个完全不同的应用程序定义了相同的权限,例如,如果您有一个用户和一个经理应用程序,并且它们都有以下内容:

<permission
        android:name="same.package.name.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

2。由不同的密钥签名的相同应用程序

您拥有相同的应用,但使用不同的密钥进行签名。例如,如果您有发布版本和调试版本,则会遇到冲突,因为系统将此视为请求相同权限的两个不同应用程序。

3。冲突当局

但是可能会出现完全不同的情况,这种情况不太明显。冲突的权限也可能发生505错误。如果两个不同的应用程序声明了相同的提供程序,例如

<provider
    android:name=".provider.YourProvider"
    android:authorities="com.roqbot.client.YourProvider"
    android:exported="false" />

这也可能会产生冲突。

最后也是最难发现的冲突是Google Play Services 8.1及以上版本可能发生的冲突。如果您没有在build.gradle文件中定义应用程序ID,请执行以下操作:

defaultConfig {
    applicationId "com.example.my.app"
}

它可能会自动生成可能与其他应用冲突的提供商。要检查这一点,请进入您的构建&gt;中间人&gt;清单&gt;完整&gt;发布&gt; AndroidManifest.xml并查找

<provider
    android:name="com.google.android.gms.measurement.AppMeasurementContentProvider"
    android:authorities="com.google.android.gms.google_measurement_service"
    android:exported="false" />

此处的权限名称将与其他应用程序冲突。如果将applicationId添加到默认配置,它会将此权限更改为

<provider
    android:name="com.google.android.gms.measurement.AppMeasurementContentProvider"
    android:authorities="com.example.my.app.google_measurement_service"
    android:exported="false" />

这非常微妙,似乎是一个从谷歌播放服务8.1开始的错误。这个问题可以在这里讨论。 https://code.google.com/p/android/issues/detail?id=189079&can=1&q=error%20505&sort=-opened&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened

要记住的一点是,它可能是几件事,并且您唯一可以通过505错误验证的是,存在某种冲突,并且它可能是也可能不一定是自定义权限冲突。

答案 1 :(得分:3)

如果您使用的是Facebook SDK并遵循官方示例代码,则可能还会遇到此问题。就我而言,我在2个不同应用程序的清单上使用了相同的内容提供商名称。

 <provider
            android:authorities="com.facebook.app.FacebookContentProvider123"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true" />

我忘记更改默认名称 com.facebook.app.FacebookContentProvider123 。最后通过添加动态applicationId作为提供者名称来修复它。

<provider
            android:authorities="com.facebook.app.FacebookContentProvider.${applicationId}"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true" />

答案 2 :(得分:-4)

错误名称:错误505

问题:这是从Google Play商店更新或安装应用程序时遇到的异常错误代码。它显示一条错误消息,指出“应用程序安装505期间的未知错误代码”。

以下原因负责此错误。

•当您尝试安装过期版本的应用时,通常会看到它。

•由于应用与Android操作系统版本不兼容,可能导致错误505.

•由于缓存冲突或应用程序数据崩溃,也可能出现此问题。

•由于Google帐户同步问题,也可能出现错误505.

<强>解决方案

•首先重启Android设备,因为此步骤通常可以解决任何类型的错误。如果它不起作用然后尝试这些简单的步骤。

•清除Google Play商店,Google服务框架和下载管理器的缓存和数据。要做到这一点首先转到设置&gt;&gt;然后应用&gt;&gt;选择全部&gt;&gt;然后是Google Play商店和清除缓存和清除数据。同时清除Google服务的缓存和清除数据。