无法使用不同的maxSdkVersions上传apk:READ_EXTERNAL_STORAGE

时间:2015-07-29 22:56:08

标签: android google-play android-permissions

这是我第一次在这里提出问题 无论如何,正如标题所说,我试图将我的应用程序投放市场 当我尝试上传签名的apk时,我收到错误:

  

上传失败重复声明权限android.permission.READ_EXTERNAL_STORAGE与不同的maxSdkVersions重复声明。

我尝试搜索现有的问题,但我无法找到解决方案。

...
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<!-- needed to retrieve owner name -->
<uses-permission android:name="android.permission.READ_PROFILE" />
...

问题是我没有明确要求获得此许可。 我在清单中声明了WRITE_EXTERNAL_STORAGE,这应包括READ_EXTERNAL_STORAGE权限,但不包含&#34; maxsdkversion&#34;。

我还查看了我导入的库。

在继续之前,我有两个版本的应用程序,一个用于android 2.3+,一个用于android 4+。我可以毫无问题地上传Android 2.3+版本。

两个版本之间唯一不同的是,在&#34; android 4 +&#34;版本i导入&#34; creativeSDKImageEditing&#34; (百鸟)。 我在CreativeSDK的清单中看到它声明了READ_EXTERNAL_STORAGE权限,但没有任何&#34; maxSdkVersion&#34;。

...
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:appcompat-v7:22.2.1'

compile 'com.facebook.android:facebook-android-sdk:4.1.1'
compile 'com.github.chrisbanes.photoview:library:1.2.3'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.squareup.okhttp:okhttp:2.4.0' 
compile 'com.nineoldandroids:library:2.4.0@jar'
compile 'com.mixpanel.android:mixpanel-android:4.6.0'
compile 'com.intellij:annotations:12.0'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
compile 'com.github.johnkil.android-appmsg:appmsg:1.2.0'
compile 'ch.acra:acra:4.6.2'
compile 'com.android.support:multidex:1.0.0'

compile 'com.adobe.creativesdk.foundation:auth:0.3.94'
compile 'com.adobe.creativesdk:image:4.0.0'
...

我现在只是面对这个问题,使用新的更新,而在我上传这两个版本的应用程序之前没有任何问题。我没有改变清单,也没有改变gradle文件,所以我真的不知道发生了什么。

我使用最新版本的Android Studio和gradle插件1.2.3 有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

我仍然不知道为什么会这样,但看起来图书馆里面有东西(即使我检查了他们的清单)。
无论如何,我的解决方案是删除我的清单中声明的​​库的权限:

<uses-permission
    android:name="android.permission.READ_EXTERNAL_STORAGE"
    tools:node="remove"
    tools:selector="com.aviary.android.feather.sdk" />

Evverything工作正常,即使没有&#34; maxsdkversion&#34;在该库清单中声明。

答案 1 :(得分:0)

包括android.permission.READ_EXTERNAL_STORAGE解决问题