Android Play 商店错误 -505

Android Play Store Error -505

将 APK 上传到 Android 开发者控制台时,一切正常,但 android 5.0 及更高版本的部分用户无法安装或升级 APK。这些用户看到 Google Play 商店错误 505。

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

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"
}

它可能 auto-generate 提供程序会与其他应用程序发生冲突。要检查这一点,请进入您的 build>intermediates>manifests>full>release>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" />

这非常微妙,似乎是 google 播放服务 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 错误验证的是存在某种冲突,它可能是也可能不是自定义权限冲突。

错误名称:错误 505

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

以下原因导致此错误。

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

• 错误 505 可能是由于应用程序与您的 Android OS 版本不兼容造成的。

• 也可能是由于缓存冲突或应用程序数据崩溃引起的。

• 错误 505 也可能是由于 Google 帐户同步问题引起的。

解法:

• 首先重新启动您的 Android 设备,因为这一步通常可以消除任何类型的错误。如果它不起作用,请尝试这些简单的步骤。

• 清除 Google Play 商店、Google 服务框架和下载管理器的缓存和数据。为此首先转到设置 >> 然后是应用程序 >> select 所有 >> 然后 Google 播放存储和清除缓存和清除数据。还清除 Google 服务的缓存和数据。

如果您使用的是 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" />