http://developer.android.com/guide/practices/screens-distribution.html#FilteringHansetApps http://developer.android.com/guide/practices/screens-distribution.html#FilteringHansetApps
...您可以使用该元素根据屏幕尺寸和密度的组合来管理应用程序的分发。 Google Play 等外部服务使用此信息对您的应用程序进行过滤,以便只有具有您声明兼容的屏幕配置的设备才能下载您的应用程序。
例子<compatible-screens>
该页面的元素:
<manifest ... >
<compatible-screens>
<!-- all 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" />
<!-- 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" />
</compatible-screens>
...
<application ... >
...
<application>
</manifest>
但是,我建议还添加密度为xxhdpi
,因为此类设备现已上市(Droid DNA、Xperia Z、HTC Butterfly 等)。
UPDATE
首先,关于您的构建错误,如果您阅读的文档<compatible-screens> element http://developer.android.com/guide/topics/manifest/compatible-screens-element.html,您会注意到它是在 API 级别 9 中添加的,并且由于某些奇怪的原因,您的构建目标设置得比该级别更旧。
第二,关于:
我需要我的应用程序在普通人称为智能手机的设备上运行,而不是在普通人称为平板电脑的设备上运行...例如它必须在“Galaxy Note 2”上运行,但不能在“Galaxy Tab”上运行
这是不可能的,只是因为您对自己的工作没有具体的定义,并且不希望您的应用程序继续发布。
地球上大约有 80 亿“正常人”。欢迎您采访他们每一个人,询问他们对 Galaxy Note 2 的看法。有人会说电话。有人会说平板电脑。有人会说“平板手机”,这没什么用。有些人会把你赶出他们的家,声称你把一些发光的恶魔带到了他们中间(这也没有用,如果他们手头有石头可以扔,可能会很痛苦)。
如果在未来的某个时间点,您对自己想要做什么和不想做什么有一个科学的定义,请提出一个新的 StackOverflow 问题。我所说的“科学定义”是指一种可以被所有设备上的所有人普遍应用的算法,以确定您希望您的应用程序做什么和不做什么。
(请注意,我所说的“所有人”不包括那些可能认为你是恶魔贩子的人)
例如: