我在Xamarin Studio中创建了一个项目,当我在Google Play上发布时似乎遇到了一些问题:
当应用程序发布时,我可以正常安装在手机中,但当我尝试通过平板电脑访问Google Play中的应用程序时,它表示应用程序与设备不兼容。
我是Android开发的新手,所以我对此有一些疑问......我试图在应用程序清单中使用兼容的屏幕:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="my.package.name" android:versionName="1.0.0" android:versionCode="42">
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />
<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.SEND_SMS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<permission android:protectionLevel="signature" android:name="my.package.name.permission.C2D_MESSAGE" />
<uses-permission android:name="my.package.name.permission.C2D_MESSAGE" />
<application android:label="MyApplication" android:icon="@drawable/Icon" android:theme="@android:style/Theme.NoTitleBar">
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/FacebookAppID" />
<activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/ApplicationName" />
<service android:name="parse.ParsePushService" />
<receiver android:name="parse.ParsePushBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="my.package.name" />
</intent-filter>
</receiver>
</application>
<compatible-screens>
<!--all 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>
</manifest>
我收到了一些电子邮件,说平板电脑不兼容,所以我尝试了1个实体平板电脑和2个虚拟平板电脑,但它们确实不兼容。
我还需要别的东西吗?或问题出在Google Play开发者控制台中?
答案 0 :(得分:1)
我只想发布我所说的所有答案。我把它们放入的顺序与重要性无关。
除非您的应用只能在特定屏幕上运行,否则您不需要使用<compatible-screens>
。
在我的清单中,我添加了以下内容,但您可能不需要:
<uses-feature android:name="android.hardware.screen.portrait" android:required="false" />
<uses-feature android:name="android.hardware.screen.landscape" android:required="false" />
我会查看Google Dev Console并确保您不排除设备,也可以查看是否有任何平板电脑位于支持的设备列表中。如果我搜索“平板电脑”,我就有80个。
最后,请确保您至少检查以下体系结构:armeabi-v7a
和x86
。 armeabi
已被弃用,您可以执行其他两个但我们不这样做,因为我们在发布模式下使用LLVM编译,这与64位体系结构不兼容。这样做的好处是所有64位架构仍然可以使用32位构建,因此如果你检查这些架构,它们仍然可以被覆盖。