6

我们遇到了与清单文件和属性“android:minSdkVersion”相关的问题。问题是:如果我们的平台是 2.0 并且我们使用属性“android:minSdkVersion=3”(3 = sdk 1.5)图形会损坏(具体来说,应用程序的分辨率会降低到原始大小的 2/3 ,也就是说,当分辨率应该是480x720时,它变成了320x480)。这发生在 Android 模拟器和设备 Droid/Milestone(平台 2.0)上。当我们将属性切换到“android:minSdkVersion=4”(4 = sdk 1.6)时,问题就解决了,但是当我们想将该版本放在平台 1.5 上时,Android 不允许我们安装它。它将帮助我们了解 2.0 sdk 中有关图形的任何冲突,或围绕“android:

谢谢!

4

3 回答 3

5

如果您指定targetSdkVersion以及minSdkVersion您的应用程序将开始在所有平台上正常工作。

所以在你的清单中有一个这样的条目:

<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4"/>

这在 Android 开发者文档中的Android API 级别页面中有介绍

于 2010-01-06T15:04:36.890 回答
4

我假设您正在使用诸如 之类的目录为不同的屏幕密度指定不同的资产res/drawable-mdpires/drawable-hdpi

Android 1.6(API 级别 4)是第一个支持多屏幕密度的 SDK 版本,因此它知道这些目录名称的重要性,因此可以成功地从res文件夹中为运行它的特定设备选择正确的可绘制对象。

但是,如果您在 Android 1.5 设备(API 级别 3)上运行以这种方式开发的应用程序,则框架不知道它应该只使用中等 DPI 资源(因为没有任何 Android 1.5 设备发布中等 DPI 屏幕(AFAIK))。因此,在这种情况下,框架最终可能会看似随机地从 APK 中的所有可用资源中进行选择,无论它们是用于高密度屏幕还是中等密度屏幕,或者其他什么。

但是,我还没有看到与您相反的情况,即 2.0 设备似乎为或假设不同的屏幕密度选择可绘制对象。

我会确保您的res目录布局是正确的,并且您在每个布局中都使用了与密度无关的测量值。

但如果你想在单个 APK 中支持多种屏幕分辨率和密度支持 Android 1.5 设备,那么我认为这是不可能的。

于 2010-01-06T14:45:12.017 回答
0

在您的 AndroidManifest.xml 中添加此标签以支持多种屏幕密度。

<supports-screens 
android:largeScreens="true" 
android:normalScreens="true" 
android:smallScreens="true" 
android:anyDensity="false" /> 
于 2012-02-15T00:04:31.847 回答