构建应用程序的发布版本会生成具有重复权限的清单。构建成功完成,但当我将新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大约一周前;从那时起,我的项目中没有任何依赖项或权限已更改。
答案 0 :(得分:3)
我会做什么:
尽管如此,我只会指定android.permission.WRITE_EXTERNAL_STORAGE
权限,因为它还应包含READ_EXTERNAL_STORAGE
权限。如果它有效,也许不是对你发生的事情的解释,但它可能就足够了。
答案 1 :(得分:3)
我也遇到了这个问题。事实证明,我的项目所依赖的库之一包括READ_EXTERNAL_STORAGE权限,但我的实际项目却没有。只需将此权限添加到我的项目清单中即可解决问题。
答案 2 :(得分:0)
清理并关闭Android工作室10次,我的gradle文件中没有设置maxSdkVersion,在所有gradle文件中始终设置minSdkVersion而没有任何内容。唯一能做到这一点的是手动删除Build文件夹中的所有内容并再次构建........问题消失了