Play商店中的设备兼容性问题 [英] Device compatibility issue on the Play Store
问题描述
我有一个关于在Google Play商店中发布Android应用的奇怪问题。问题是有0个设备兼容,因此我们无法发布它。
以下是清单文件的样子:
<?xml version =1.0encoding =utf-8?>
< manifest xmlns:android =http://schemas.android.com/apk/res/android
package =com.xxx
android:installLocation =auto
android:versionCode =1
android:versionName =1.0>
< uses-sdk android:minSdkVersion =7android:targetSdkVersion =15/>
<使用权限android:name =android.permission.INTERNET/>
<使用权限android:name =android.permission.WRITE_EXTERNAL_STORAGE/>
<使用权限android:name =android.permission.ACCESS_FINE_LOCATION/>
<使用权限android:name =android.permission.ACCESS_NETWORK_STATE/>
<使用权限android:name =android.permission.READ_CONTACTS/>
支持屏幕
android:largeScreens =true
android:normalScreens =true
android:xlargeScreens =true>
< / supports-screens>
< application
android:name =。application.xxx
android:icon =@ drawable / ic_launcher
android:label =@ string / app_name
android:theme =@ android:style / Theme.NoTitleBar>
<! - 使用谷歌地图 - >
< uses-library android:name =com.google.android.maps/>
<! - 这里定义的活动/服务 - >
< / application>
< / manifest>
正如你所看到的,这里没有什么特别的。我甚至试图发布应用程序,只定义了0个权限来查看会发生什么,但我仍然遇到了相同的兼容性问题。
我应该提到几件事情:
- 我试过用0权限发布,仍然是同样的问题。
minSdkVersion
为13,仍然是同样的问题。 - 我正在使用
Ant
(ant clean release
)。这款应用在我们的任何设备上运行都很好(<2.3美元> Galaxy SII 2.3美元/美元,> <美元美元> HTC Sensation 2.3美元/美元,>Galaxy Spica with 2.1
,Nexus S with 4.1.1
) - 我的代码使用特定于API 13和更高版本的功能,但是我在运行时检查API级别,并将该功能替换为另一个与旧版本兼容的功能。
有什么想法?
谢谢!
$ b 编辑
输出: aapt dump badging
是:
package:name ='com.myapp'versionCode ='1'versionName = '1.0'
sdkVersion:'7'
使用权限:'android.permission.INTERNET'
使用权限:'android.permission.WRITE_EXTERNAL_STORAGE'
使用权限: 'android.permission.ACCESS_FINE_LOCATION'
使用权限:'android.permission.ACCESS_NETWORK_STATE'
使用权限:'android.permission.READ_CONTACTS'
application-label:'MyApp'
application-label-fr:'MyApp'
application-icon-120:'res / drawable-ldpi / ic_launcher.png'
application-icon-160:'res / drawable-mdpi / ic_launcher .png'
application-icon-240:'res / drawable-hdpi / ic_launcher.png'
application-icon-320:'res / drawable-xhdpi / ic_launcher.png'
application :label ='MyApp'icon ='res / drawable-mdpi / ic_launcher.png'
uses-library:'com.google .android.maps'
launchable-activity:name ='com.myapp.activities.SplashScreenActivity'label ='MyApp'icon =''
使用权限:'android.permission.READ_EXTERNAL_STORAGE'
uses-implied-permission:'android.permission.READ_EXTERNAL_STORAGE','requested WRITE_EXTERNAL_STORAGE'
uses-permission:'android.permission.READ_CALL_LOG'
uses-implied-permission:'android.permission。 READ_CALL_LOG','targetSdkVersion< 16并要求READ_CONTACTS'
使用特性:'android.hardware.location'
uses-implied-feature:'android.hardware.location','请求位置访问权限'
使用-feature:'android.hardware.location.gps'
uses-implied-feature:'android.hardware.location.gps','请求android.permission.ACCESS_FINE_LOCATION权限'
uses-feature:' android.hardware.touchscreen'
uses-implied-feature:'android.hardware.touchscreen','假设你需要一个触摸屏,除非明确提出可选'
uses-feature:'android.hardware.screen .portrait'
uses-implied-feature:'android.hardware.screen.portrait','一个或多个活动指定了纵向'
main
other-activities
其他服务
支持屏幕:'small''normal''large''xlarge'
supports-any-density:'true'
locales:'--_--'' fr'
密度:'120''160''240''320'
坦率地说,Google Play很混乱。我有三个已发布的应用程序,它们与0个设备兼容,但仍有数千个用户。即使是更we,,Google Play也为我提供了这些应用的统计数据,向全世界的用户展示。
所以我会说继续发布它。有时可能需要一段时间才能显示出来,但一旦它出现,您应该可以将其安装到您的设备上,并确认用户可以下载它,尽管控制台显示0兼容设备。I have a weird issue regarding the publication of an Android application on the Google Play Store. The issue is that there are 0 devices compatible hence we can't publish it.
Here is what the manifest file looks like:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx"
android:installLocation="auto"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_CONTACTS" />
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:xlargeScreens="true" >
</supports-screens>
<application
android:name=".application.xxx"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<!-- To use google maps -->
<uses-library android:name="com.google.android.maps" />
<!-- activities/services defined here -->
</application>
</manifest>
As you can see there is nothing special in here. I have even tried to publish the app with 0 permissions defined just to see what would happen and I still got the same compatibility issue.
I should mention a couple of things:
- I have tried publishing with 0 permissions, still same issue.
- I have tried setting the
minSdkVersion
to 13, still same issue. - I am building using
Ant
(ant clean release
). The app runs fine on any of our devices (Galaxy SII with 2.3
,HTC Sensation with 2.3
,Galaxy Spica with 2.1
,Nexus S with 4.1.1
). - At some point in my code I am using features specific to API 13 and above but I am checking at runtime the API level and substitute that feature with another one compatible with older versions.
Any idea?
Thanks!
EDIT
The output of: aapt dump badging
is:
package: name='com.myapp' versionCode='1' versionName='1.0'
sdkVersion:'7'
uses-permission:'android.permission.INTERNET'
uses-permission:'android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission:'android.permission.ACCESS_FINE_LOCATION'
uses-permission:'android.permission.ACCESS_NETWORK_STATE'
uses-permission:'android.permission.READ_CONTACTS'
application-label:'MyApp'
application-label-fr:'MyApp'
application-icon-120:'res/drawable-ldpi/ic_launcher.png'
application-icon-160:'res/drawable-mdpi/ic_launcher.png'
application-icon-240:'res/drawable-hdpi/ic_launcher.png'
application-icon-320:'res/drawable-xhdpi/ic_launcher.png'
application: label='MyApp' icon='res/drawable-mdpi/ic_launcher.png'
uses-library:'com.google.android.maps'
launchable-activity: name='com.myapp.activities.SplashScreenActivity' label='MyApp' icon=''
uses-permission:'android.permission.READ_EXTERNAL_STORAGE'
uses-implied-permission:'android.permission.READ_EXTERNAL_STORAGE','requested WRITE_EXTERNAL_STORAGE'
uses-permission:'android.permission.READ_CALL_LOG'
uses-implied-permission:'android.permission.READ_CALL_LOG','targetSdkVersion < 16 and requested READ_CONTACTS'
uses-feature:'android.hardware.location'
uses-implied-feature:'android.hardware.location','requested a location access permission'
uses-feature:'android.hardware.location.gps'
uses-implied-feature:'android.hardware.location.gps','requested android.permission.ACCESS_FINE_LOCATION permission'
uses-feature:'android.hardware.touchscreen'
uses-implied-feature:'android.hardware.touchscreen','assumed you require a touch screen unless explicitly made optional'
uses-feature:'android.hardware.screen.portrait'
uses-implied-feature:'android.hardware.screen.portrait','one or more activities have specified a portrait orientation'
main
other-activities
other-services
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--' 'fr'
densities: '120' '160' '240' '320'
Quite frankly, Google Play is messed up. I have three published apps which are compatible with 0 devices, and yet have thousands of users. Even weirder, Google Play gives me statistics for those apps, showing users all over the world.
So I would say go ahead and publish it. Sometimes it can take a while to show up, but once it does, you should be able to install it on your devices and confirm that users can download it, despite the console showing 0 compatible devices.
这篇关于Play商店中的设备兼容性问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!