无法上传 apk:READ_EXTERNAL_STORAGE 具有不同的 maxSdkVersions
can't upload apk: READ_EXTERNAL_STORAGE with different maxSdkVersions
第一次在这里提问
无论如何,正如标题所说,我正在努力将我的应用程序投放市场。
当我尝试上传已签名的 apk 时,出现错误:
Upload failed Duplicate declarations of permission android.permission.READ_EXTERNAL_STORAGE with different 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 权限,但没有 "maxsdkversion".
我还查看了正在导入的库。
在继续之前,我有两个版本的应用程序,一个用于 android 2.3+,一个用于 android 4+。我可以毫无问题地上传 Android 2.3+ 版本。
两个版本之间唯一不同的是,在 "android 4+" 版本中,我导入了 "creativeSDKImageEditing" (Aviary)。
我在 CreativeSDK 的清单中看到它声明了 READ_EXTERNAL_STORAGE 权限,但没有任何 "maxSdkVersion".
...
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。
有人可以帮助我吗?
我仍然不知道为什么会这样,但看起来图书馆里有东西(即使我检查了他们的清单)。
无论如何,我的解决方案是删除清单中声明的库的权限:
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
tools:node="remove"
tools:selector="com.aviary.android.feather.sdk" />
一切正常,即使在该库清单中没有声明 "maxsdkversion"。
包含 android.permission.READ_EXTERNAL_STORAGE 可解决问题
第一次在这里提问
无论如何,正如标题所说,我正在努力将我的应用程序投放市场。
当我尝试上传已签名的 apk 时,出现错误:
Upload failed Duplicate declarations of permission android.permission.READ_EXTERNAL_STORAGE with different 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 权限,但没有 "maxsdkversion".
我还查看了正在导入的库。
在继续之前,我有两个版本的应用程序,一个用于 android 2.3+,一个用于 android 4+。我可以毫无问题地上传 Android 2.3+ 版本。
两个版本之间唯一不同的是,在 "android 4+" 版本中,我导入了 "creativeSDKImageEditing" (Aviary)。 我在 CreativeSDK 的清单中看到它声明了 READ_EXTERNAL_STORAGE 权限,但没有任何 "maxSdkVersion".
...
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。
有人可以帮助我吗?
我仍然不知道为什么会这样,但看起来图书馆里有东西(即使我检查了他们的清单)。
无论如何,我的解决方案是删除清单中声明的库的权限:
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
tools:node="remove"
tools:selector="com.aviary.android.feather.sdk" />
一切正常,即使在该库清单中没有声明 "maxsdkversion"。
包含 android.permission.READ_EXTERNAL_STORAGE 可解决问题