我知道这里有类似的问题,但似乎没有一个令人满意的答案。
我正在尝试发布应用,但无论我尝试什么,开发者控制台都会报告支持的设备为零
这是我的完整清单;
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.blah.blahpro"
android:versionCode="6"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="17"/>
<supports-screens
android:anyDensity="true"
android:xlargeScreens="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true" />
<compatible-screens>
<!-- small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<!--Only hdpi and xhdpi for normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
<!-- all large size screens -->
<screen android:screenSize="large" android:screenDensity="ldpi" />
<screen android:screenSize="large" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="large" android:screenDensity="xhdpi" />
<!-- all xlarge size screens -->
<screen android:screenSize="xlarge" android:screenDensity="ldpi" />
<screen android:screenSize="xlarge" android:screenDensity="mdpi" />
<screen android:screenSize="xlarge" android:screenDensity="hdpi" />
<screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
<!-- Special case for Nexus 7 -->
<screen android:screenSize="large" android:screenDensity="213" />
</compatible-screens>
<uses-feature android:name="android.hardware.location" android:required="false"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.CAMERA" />
<uses-permission android:name="android.permission.CAMERA" />
<application
android:icon="@drawable/blahicon"
android:label="@string/app_name"
android:allowBackup="false">
<activity
android:label="@string/app_name"
android:name="com.blah.blahpro.Main" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name="com.blah.satcalcpro.Find"
>
<intent-filter >
<action android:name="com.blah.lookangles.FIND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
感谢任何帮助。
答案 0 :(得分:5)
问题排序,但不确定如何...我尝试删除所有兼容屏幕和支持屏幕代码,但它没有太大的区别。我唯一能想到的就是我删除了这条线;
<uses-feature android:name="android.hardware.CAMERA" />
无论如何不应该在那里。现在有2522台设备支持,非常高兴。
无论如何,这是新的清单:
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="17"/>
<uses-feature android:name="android.hardware.location" android:required="false"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.Light"
android:allowBackup="false">
<activity
android:label="@string/app_name"
android:name="com.blah.blahpro.Main" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name="com.blah.blahpro.Find"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
>
<intent-filter >
<action android:name="com.blah.blahactivity.FIND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
答案 1 :(得分:4)
似乎GlyphTypeface glyphTypeface;
using (var memoryPackage = new MemoryPackage())
{
using (var fontStream = new MemoryStream(File.ReadAllBytes(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "font"))))
{
var typefaceSource = memoryPackage.CreatePart(fontStream);
glyphTypeface = new GlyphTypeface(typefaceSource);
memoryPackage.DeletePart(typefaceSource);
}
}
var familyName = glyphTypeface.FamilyNames[CultureInfo.GetCultureInfo("en-US")];
Console.WriteLine(familyName);
区分大小写。
您在清单中写了两个功能:
uses-feature
第一个是好的。您想使用相机,但不是必需的。
问题是第二个需要<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.CAMERA" />
,这在任何Android设备中都不存在。他们有一个android.hardware.CAMERA
,而不是camera
。
我希望这会对你有所帮助。
答案 2 :(得分:1)
我建议在清单中注释兼容屏幕和支持屏幕,看看上传apk时会发生什么。我希望您在执行此操作时会看到许多设备被允许。
然后,一次添加几个这些要求,每次上传apk并查看哪些限制导致设备数量下降。一旦确定导致问题的限制,就可以将其保留在最终版本之外。
答案 3 :(得分:0)
我知道回答迟到了,我面临同样的问题。通过设置false所有用户功能,Play商店仍然显示支持零设备。
这是解决方案,希望能帮到某人
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
另外
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />