无法将新APK上传到Google Play

时间:2015-07-16 03:05:08

标签: android android-studio permissions google-play

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

"上传失败

使用不同的maxSdkVersions"

重复声明权限android.permission.READ_EXTERNAL_STORAGE的权限声明

在中间清单中,AndroidManifest版本具有相关权限,但只会在maxSdkVersion下发生一次(见下文)。

的myapp /建造/中间体/舱单/释放/ 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大约一周前;从那时起,我的项目中没有任何依赖项或权限已更改。

3 个答案:

答案 0 :(得分:3)

我会做什么:

  1. 清理项目并重建项目(我猜你做了)。
  2. 手动删除文件夹&#34; build&#34;中的所有生成文件,然后重建项目。
  3. 检查您的不同gradle文件是否具有不同的maxSDKVersion,并使它们保持一致。
  4. 也许这个权限包含在任何第三个图书馆中(我知道你写的没有,但你至少应该拥有GooglePlayServices,并且SDK更新可能会产生冲突),你只需将其删除即可。< / LI>

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

答案 1 :(得分:3)

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

答案 2 :(得分:0)

清理并关闭Android工作室10次,我的gradle文件中没有设置maxSdkVersion,在所有gradle文件中始终设置minSdkVersion而没有任何内容。唯一能做到这一点的是手动删除Build文件夹中的所有内容并再次构建........问题消失了