【问题标题】:Failed to upload new APK to Google Play无法将新 APK 上传到 Google Play
【发布时间】:2015-07-16 03:05:08
【问题描述】:

构建我的应用程序的发布版本会生成具有重复权限的清单。构建成功完成,但是当我将新的 APK 上传到生产环境时,出现以下错误:

“上传失败

具有不同 maxSdkVersions 的权限 android.permission.READ_EXTERNAL_STORAGE 的重复声明"

在中间清单中,发布 AndroidManifest 具有相关权限,但它只出现一次 maxSdkVersion(见下文)。

myapp/build/intermediates/manifests/release/AndroidManifest.xml

...
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<android:uses-permission
    android:name="android.permission.READ_EXTERNAL_STORAGE"
    android:maxSdkVersion="18" />
...

请注意,READ_EXTERNAL_STORAGE 会生成两次,一次使用标签uses-permission,一次使用android:uses-permission

此错误仅在今天发生;我成功上传的最后一个 APK 大约是在一周前;从那时起,我的项目中没有任何依赖项或权限发生变化。

【问题讨论】:

    标签: android android-studio permissions google-play


    【解决方案1】:

    我会做什么:

    1. 清理项目并重建项目(我猜你做到了)。
    2. 手动删除“build”文件夹中所有生成的文件,然后重建项目。
    3. 检查不同的 gradle 文件是否有不同的 maxSDKVersion,并使其保持一致。
    4. 也许这个权限包含在任何第三个库中(我知道你写了你没有,但你至少应该有 GooglePlayServices,而且 SDK 更新可能会造成冲突),你只需将其删除。

    尽管如此,我只会指定android.permission.WRITE_EXTERNAL_STORAGE 权限,因为它还应该包含READ_EXTERNAL_STORAGE 权限。如果它有效,也许不能解释发生在你身上的事情,但它可能就足够了。

    【讨论】:

    • 清理并关闭 Android Studio 10 次,我的 gradle 文件中没有设置 maxSdkVersion,在所有 gradle 文件中一致地设置 minSdkVersion,什么都没有。唯一成功的方法是手动删除 Build 文件夹中的所有内容并重新构建........问题消失了
    【解决方案2】:

    我也遇到了这个问题。事实证明,我的项目所依赖的库之一包括 READ_EXTERNAL_STORAGE 权限,但我的实际项目没有。只需将此权限添加到我的项目清单即可解决问题。

    【讨论】:

    • 这对我也有效,但问题完全相同。
    【解决方案3】:

    清理并关闭 Android Studio 10 次,我的 gradle 文件中没有设置 maxSdkVersion,在所有 gradle 文件中一致地设置 minSdkVersion,什么都没有。唯一的诀窍是手动删除 Build 文件夹中的所有内容并重新构建........问题消失了

    【讨论】:

      猜你喜欢
      • 2014-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      相关资源
      最近更新 更多