Android Play 商店错误 -505

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

在将 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 .如果您检查 stackoverflow 是否存在此错误,您会发现多份有关提供此解决方案的人的报告。虽然这有时可能是导致此错误的原因,但还有其他几个原因可能会发生这种情况以及其他冲突。

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

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

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

2。相同的应用由不同的 key 签名

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

3。相互冲突的权威

但是可能会发生完全不同的情况,这种情况不太明显。 505 错误也可能发生在权限冲突的情况下。如果两个不同的app声明同一个provider,比如

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

这也可能造成冲突。

最后一个也是最难发现的冲突是 Google Play 服务 8.1 及更高版本可能发生的冲突。如果您没有像这样在 build.gradle 文件中定义应用程序 ID:

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

它可能会自动生成可能与其他应用程序冲突的提供程序。要检查这一点,请进入您的 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 play services 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 错误是存在某种冲突,它可能是也可能不一定是自定义权限冲突。

关于Android Play 商店错误 -505,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34618123/

相关文章:

android - 录制/捕获 Android 应用程序的内部声音播放并导出 mp3?

java - 服务器 - Android 应用程序和服务器之间的客户端连接

android - 如何使用 Android Studio 3.3 修复即时应用程序

android - 共享首选项对私有(private)数据安全吗?

java - 安卓光标: database being modified as it is being read

flutter - Google Play 3 天内自动退款

Android 开发者控制台堆栈跟踪

没有信用卡的Android开发者费用?

android - Firebase 云消息传递不同的 key

javascript - react native 谷歌登录返回状态代码 : 12501