Android - 在 Android 1.6 中开发的应用程序可以在 Android 2.0 中运行吗?

Posted

技术标签:

【中文标题】Android - 在 Android 1.6 中开发的应用程序可以在 Android 2.0 中运行吗?【英文标题】:Android - Can an app developed in Android 1.6 run in Android 2.0? 【发布时间】:2010-12-22 01:27:16 【问题描述】:

android 是否向后兼容,换句话说,在 Android 1.6 中开发的应用程序可以在 Android 2.0 中运行吗?

我刚刚发布了一个 2.0 应用程序,发现使用我的 G1 (Android 1.6) 手机在市场上找不到它。但显然其他人正在下载它。

我应该将应用程序降级到 1.6 还是需要为每个 Android 版本创建单独的应用程序?

【问题讨论】:

【参考方案1】:

如果您确定它是稳定的,您可以针对任何您想要的版本进行构建,并将其发布到每部 Android 手机上,并在市场上展示给他们。

我有一个基于 1.6 SDK 构建的 Android 应用。我确保不使用任何特定于 1.6 的 API,但我确实希望构建环境允许我使用特定于分辨率的图标和资产,而 1.5 SDK 不知道该怎么做。但是,运行 1.5 的手机在实际运行时不会因分辨率特定的布局结构而窒息。

我将 minSdkVersion 标记为 3 (Android 1.5) 并将 targetSdkVersion 设置为 4 (Android 1.6)。这告诉 Android 手机和市场,我已经确定该应用在低至 Android 1.5 的手机上运行良好,但它是针对 1.6 构建的(可以假设在更高版本上运行,如 2.0)。

由于该应用是开源的,因此我的 AndroidManifest.xml 中有一个 link

Android Developer docs中的这个页面更详细地描述了uses-sdk属性

【讨论】:

【参考方案2】:

既然您使用 1.6 SDK 开发了您的应用,您应该(必须?)使用 1.6 标记它。 这将增加能够查看和下载您的应用的人数。

如果它们相同,则不需要有 2 个应用程序(1.6 和 2.0)。如果您愿意,可以尝试使用 Android SDK 2.0 的新功能来改进您的应用,然后:

    如果您只想针对 android 2.0(或者如果您在手机上执行 2 个关于 android 版本的不同代码),请更新旧应用 在市场上创建一个针对 android 2.0 的新应用

【讨论】:

这个答案是正确的,但并不完整——您可以针对 1.6 进行构建,并让运行 1.5 的用户可以看到和安装它。我在下面的答案中进行了详细说明。【参考方案3】:

只是说一个 1.6 的应用程序可以在 2.0 上运行,但不是 2.0 的应用程序可以在 1.6 上运行 其他人正在下载您的 2.0 应用,因为他们在手机上安装了 2.0 android(例如:摩托罗拉 Droid)

没有更多 再见

pd:对不起我的英语

【讨论】:

【参考方案4】:

我认为如果你建立一个基于android 1.6的应用程序,它可以在1.6和2.0平台上运行。

如果这个应用是基于 android 2.0 并且你想在 android 1.6 平台上运行它只需在 AndroidMenifest.xml 中设置 minsdk 像这样 "uses-sdk android:minSdkVersion="4" ", 那么它也可以在 1.6 中运行平台。

谢谢

【讨论】:

以上是关于Android - 在 Android 1.6 中开发的应用程序可以在 Android 2.0 中运行吗?的主要内容,如果未能解决你的问题,请参考以下文章

Android 1.6 中捆绑了哪个版本的 Apache HTTP 客户端?

了解在 Android 1.6/2.0/2.1 上使用 SoundPool 加载声音是不是成功

在 Java (Android 1.6 API) 中将 String 转换为 CharSequence 或 char[]

Android 1.6:“android.view.WindowManager$BadTokenException:无法添加窗口——令牌 null 不适用于应用程序”

Android 1.6View和ViewGroup的touch事件分析和总结

如何使用 Java 1.6 开发 Android 应用程序?