4

我正在开发一个与 2.3.3 及更高版本兼容的应用程序

<uses-sdk 
    android:minSdkVersion="10"
    android:targetSdkVersion="10"
    android:maxSdkVersion="17"/>

<supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="true" />

<compatible-screens>
    <screen
        android:screenDensity="mdpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="hdpi"
        android:screenSize="large" />
    <screen
        android:screenDensity="xhdpi"
        android:screenSize="xlarge" />
</compatible-screens>

在我的开发过程中,它正在我的 2.3.6 三星 Galaxy 设备上运行。

但是,将我的应用程序放入 Play 商店后,它显示它与我的设备不兼容。这是为什么?

4

1 回答 1

1

这里的文档:

安卓:targetSdkVersion

一个整数,指定应用程序所针对的 API 级别。如果未设置,则默认值等于提供给 minSdkVersion 的值。此属性通知系统您已针对目标版本进行了测试,并且系统不应启用任何兼容性行为以保持您的应用程序与目标版本的前向兼容性。该应用程序仍然能够在旧版本上运行(低至 minSdkVersion)。

随着 Android 随着每个新版本的发展,某些行为甚至外观可能会发生变化。但是,如果平台的 API 级别高于您应用的 targetSdkVersion 声明的版本,系统可能会启用兼容性行为,以确保您的应用继续按照您期望的方式运行。您可以通过指定 targetSdkVersion 以匹配其运行平台的 API 级别来禁用此类兼容性行为。例如,将此值设置为“11”或更高允许系统在 Android 3.0 或更高版本上运行时将新的默认主题 (Holo) 应用到您的应用程序,并且还可以在大屏幕上运行时禁用屏幕兼容模式(因为支持 API 11 级隐式支持更大的屏幕)。

根据您为此属性设置的值,系统可能会启用许多兼容性行为。Build.VERSION_CODES 参考中的相应平台版本描述了其中一些行为。

为了在每个 Android 版本中维护您的应用程序,您应该增加此属性的值以匹配最新的 API 级别,然后在相应的平台版本上彻底测试您的应用程序。引入:API Level 4

例如,尝试将 targetSDK 属性增加到“17”。

于 2013-08-08T06:10:28.027 回答