无法使用android:xlargeScreens=“true”?

无法使用android:xlargeScreens=“true”?,android,manifest,tablet,screen-size,Android,Manifest,Tablet,Screen Size,我正在为手机制作应用程序,但我不想让它们在平板电脑上使用。我不知道为什么不能。我在android清单文件中使用此选项: android:xlargeScreens="true" <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cro.perger.bonbon" and

我正在为手机制作应用程序,但我不想让它们在平板电脑上使用。我不知道为什么不能。我在android清单文件中使用此选项:

android:xlargeScreens="true"
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="cro.perger.bonbon"
      android:versionCode="5"
      android:versionName="1.4">
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".bonbon"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

            <!-- Broadcast Receiver that will process AppWidget updates -->
        <receiver android:name=".HelloWidget" android:label="@string/w_name">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                </intent-filter>
        <meta-data android:name="android.appwidget.provider"
            android:resource="@xml/hello_widget_provider" />
        </receiver>

        <receiver android:name=".SMSReceiver">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>    

        </application>
        <supports-screens android:resizeable="true"
                      android:smallScreens="true"
                      android:normalScreens="true"
                      android:largeScreens="true"
                      android:xlargeScreens="true"
                      android:anyDensity="true"/>
    <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
    <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.READ_SMS"/>
</manifest>
我得到这个错误:

错误:在包“android”中找不到属性“XLargeScreences”的资源标识符

这是我的清单文件:

android:xlargeScreens="true"
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="cro.perger.bonbon"
      android:versionCode="5"
      android:versionName="1.4">
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".bonbon"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

            <!-- Broadcast Receiver that will process AppWidget updates -->
        <receiver android:name=".HelloWidget" android:label="@string/w_name">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                </intent-filter>
        <meta-data android:name="android.appwidget.provider"
            android:resource="@xml/hello_widget_provider" />
        </receiver>

        <receiver android:name=".SMSReceiver">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>    

        </application>
        <supports-screens android:resizeable="true"
                      android:smallScreens="true"
                      android:normalScreens="true"
                      android:largeScreens="true"
                      android:xlargeScreens="true"
                      android:anyDensity="true"/>
    <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
    <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.READ_SMS"/>
</manifest>
我该怎么办?

请检查您的项目构建目标以支持xlarge screen您的项目构建目标应至少为android 2.3.3 adk


在Eclipse中,右键单击project->Properties->Android->选择project Build TagTarget as 2.3.3或更高版本

您需要在AndroidManifest.xml中至少为Android:xlarge屏幕使用Android API Level 9


为此,请确保在default.properties文件中有target=android-9或更高版本。这也可以使用Android部分中的项目属性进行设置。

您的API级别设置为什么?它在文档中说它需要API 9或更高版本。9是2.3。请参阅链接,其中显示:

android:xlarge屏幕指示应用程序是否支持额外的 大屏幕的形式因素。xlarge屏幕被定义为屏幕 它比大屏幕(如平板电脑)大得多 或者更大的东西,可能需要特别注意 应用程序的一部分是充分利用它,尽管它可能依赖于 由系统调整大小以填充屏幕。此项的默认值 事实上,不同的版本会有所不同,所以最好 始终显式声明此属性。要当心设置它 false通常会启用屏幕兼容性模式。这 属性是在API级别9中引入的

问题在于你的版本

xlargeScreens属性是在API级别9中引入的。因为您指定应用程序可能在API级别4下运行,所以android找不到该属性

将minSdkVersion属性更改为11,它应该可以工作


targetSdkVersion属性(您将其设置为11)仅表示该应用程序是针对该版本开发的,因此建议使用该属性,但minSdkVersion指定了最低API级别,请参阅。

看起来您需要为旧版本和新版本构建不同的APK。查看关于多APK支持的博客:多APK支持为您提供了多种控制应用程序分发的方法。例如,您可以使用它为同一产品列表下的手机和平板电脑创建单独的APK。

我的应用程序支持android版本1.5至最新版本,这是我清单中的内容:

<supports-screens
      android:largeScreens="true"
      android:normalScreens="true"
      android:smallScreens="true"
      android:anyDensity="true" />
此外,我的项目构建目标是2.3.3,但我仍有许多安装在运行安卓3.0的设备上

这只是一个猜测,我对此不确定,但不会包括诸如CALL\u PHONE之类的权限,因为他们没有该功能,所以不会在平板电脑上搜索您的应用程序?

该属性是在API level 9 Android 2.3.3中引入的。如果您的构建目标低于API级别9,那么在包“android”中找不到属性“XLargeScreences”的资源标识符时会出现错误
将构建目标设置为API级别9或更高,此错误将消失。

这是否意味着,我的应用程序将无法在android 1.6、2.1和2.2的android设备上使用?是的。该应用程序将无法在android 1.6、2.1和2.2Ok的android设备上使用,那么我如何使我的应用程序在手机和平板电脑上工作??因为在市场上的发布网站上,平板电脑不在受支持的设备中??只要您将minSdkVersion设置为正确的值,如1.6的4或2.1的7,平板电脑在较低的API级别上可用。@SunilKumarSahoo我没有看到这个警告,直到我将adt更新为23,将eclipse更新为4.x!在过去,我设置xlargeScreen=true和minSdkversion=8时有任何错误。但是,我的应用程序将无法在android版本为2.1和2.2的手机上使用??还是我错了?好吧,那我怎么才能让我的应用程序在手机和平板电脑上运行呢??因为在市场上的发布网站上,平板电脑不在受支持的设备中??即使您没有声明XLargeScreenses属性,该应用程序也可以在平板电脑上运行。如果你使用了正确的布局,它也会很好看。此属性仅为添加,但在市场上,我的应用程序没有为平板电脑显示。我试着安装,但它说它不兼容:你能复制存储卡上的APK文件并从那里安装吗?好的,那么任务前发送短信怎么样?我想我的应用程序推送超过469台设备的问题是我使用的是安卓.hardware.telephony。。。但是它可以被删除,我的应用程序仍然可以发送短信吗?我不知道你的应用程序做什么,但我认为你必须删除你的应用程序中处理呼叫和发送短信的部分,因为平板电脑没有这些功能。我没有看到这个警告,直到我将adt更新为23,将eclipse更新为4.x!在过去,我将xlargeScreen设置为true,minSdkversion设置为8。