无法使用 android:xlargeScreens="true" 吗?
我正在为手机制作应用程序,但我不希望它们可以在平板电脑上使用。我不知道为什么不能。我在我的 android 清单文件中使用它:
android:xlargeScreens="true"
我收到此错误:
错误:在包“android”中找不到属性“xlargeScreens”的资源标识符
这是我的清单文件:
<?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>
我应该怎么办?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
请检查您的项目构建目标 为了支持 xlarge 屏幕,您的项目构建目标至少应为 android 2.3.3 adk。
在 Eclipse 中 -?右键单击项目 ->属性->安卓->选择 Project Build Tagrget 为 2.3.3 或更高版本
Please check your project Build Target To support xlarge screen your project build target should be atleast android 2.3.3 adk.
In Eclipse -?right click on project -> Properties -> Android -> Select Project Build Tagrget as 2.3.3 or onwards
我的应用程序支持 android 版本 1.5 到最新版本,这是我的清单中的内容:
这是我的应用程序的 android 市场开发人员网站上显示的内容:
此外,我的项目构建目标是 2.3.3,但我仍然有许多安装在运行 android 3.0 的设备上
这只是一个猜测,我对此不确定,但不会包括像 CALL_PHONE 这样的权限从平板电脑上的搜索中过滤您的应用程序,因为它们没有该功能?
My application supports android versions 1.5 to the latest version and this is what I have in my manifest:
This is what shows up on the android market developer site for my app:
Also, my project build target is 2.3.3, but I still have many installs on devices running android 3.0
And this is just a guess, im not sure about this, but wouldn't including permissions like CALL_PHONE filter your application from search on a tablet since they dont have that feature?
看起来您需要为旧版本和新版本构建不同的 APK。查看发布在 http://android-developers.blogspot.com/search 上的博客/label/Android%20Market 关于多 APK 支持:“多 APK 支持为您提供了多种控制应用分发的方式。例如,您可以使用它在同一产品列表下为手机和平板电脑创建单独的 APK ”。
It looks like you need to build different APKs for older and new versions. Checkout out the blog posted on http://android-developers.blogspot.com/search/label/Android%20Market about multiple APK support: "Multiple APK support gives you a variety of ways to control app distribution. For example, you could use it to create separate APKs for phones and tablets under the same product listing."
您需要至少使用 Android API Level 9 才能在
AndroidManifest.xml
中识别android:xlargeScreens
。为此,请确保您的
default.properties
文件中有target=android-9
或更高版本。这也可以使用 Android 部分中的项目属性进行设置。You need to use at least android API Level 9 for
android:xlargeScreens
to be recognized inAndroidManifest.xml
.For this make sure in your
default.properties
file you havetarget=android-9
or higher. This also can be set using Project Properties, in Android section.问题出在你的
minSdkVersion
上。xlargeScreens
属性是在 API 级别 9 中引入的。由于您指定您的应用程序可能会在 API 级别 4 下运行,因此 android 无法找到此属性。将
minSdkVersion
属性更改为11
它应该可以工作。您设置为
11
的targetSdkVersion
属性仅表明该应用程序是针对此版本开发的(因此是“推荐”),但minSdkVersion
指定最低 API 级别,请参阅 这里。The problem is your
minSdkVersion
.The
xlargeScreens
-attribute was introduced in API-Level 9. Since you specified that your application will probably run under API-Level 4, android can't find this attribute.Change the
minSdkVersion
-attribute to11
and it should work.The
targetSdkVersion
-attribute, which you set to be11
only indicates that the App was developed to target this version (so it's "recommended"), but theminSdkVersion
specifies the minimum API-Level, see here.您的 API 级别设置为多少?文档中说它需要 API 9 或更高版本。 9是2.3。请参阅此链接,其中显示:
What is your API level set to? It says in the documentation that it requires API 9 or higher. 9 is 2.3. See this link which says:
android:xlargeScreens:
此属性是在 API 级别 9 (Android 2.3.3) 中引入的。如果您的构建目标低于 API 级别 9,那么您将收到错误
“在包 'android' 中找不到属性 'xlargeScreens' 的资源标识符”
将构建目标设置为 API 级别 9 或更高版本,此错误将会消失。
android:xlargeScreens :
This attribute was introduced in API level 9 (Android 2.3.3). If you have your build target lesser than API level 9, then you will get error
"No resource identifier found for attribute 'xlargeScreens' in package 'android"
Set your build target to API level 9 or above and this error will vanish.