安卓 - 在安卓2.0上能否运行在安卓1.6开发的应用程序?

3

安卓系统是否向后兼容?换句话说,一个在安卓1.6开发的应用程序能否在安卓2.0上运行?

我刚刚发布了一个2.0版本的应用程序,但是我发现我无法在我的G1(安卓1.6)手机上在市场中找到它。但是显然其他人正在下载它。

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

4个回答

6
如果你确保它是稳定的,那么你可以针对任何版本构建并发布到所有安卓手机上,并在市场上展示给他们。
我有一个安卓应用程序,我使用1.6 SDK构建。 我确保不使用任何1.6特定的API,但我确实希望构建环境能让我使用分辨率特定的图标和资源,而1.5 SDK不知道如何处理。 但是,运行1.5的手机在实际运行时不会对分辨率特定的布局结构产生影响。
我将minSdkVersion标记为3(Android 1.5),将targetSdkVersion设置为4(Android 1.6)。 这告诉安卓手机和市场,我已确定该应用程序在低至Android 1.5的手机上运行良好,但是是针对1.6构建的(可以假定在更高版本中如2.0上也能正常工作)。
由于该应用程序是开源的,这里是我的AndroidManifest.xml的link链接。

这个 Android开发者文档 页面更详细地描述了uses-sdk属性的用途。


3

如果您使用的是1.6 SDK开发应用程序,则应(必须?)将其标记为1.6。

这将增加能够查看和下载您的应用程序的人数。

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

  1. 如果您只想瞄准Android 2.0(或者在手机上针对Android版本执行2个不同的代码),请更新旧应用程序
  2. 在市场上创建一个新应用程序,以瞄准Android 2.0

这个答案是正确的,但不完整 - 你可以针对1.6构建,并且用户运行1.5也可以看到它并安装它。我在下面的答案中详细解释了。 - Eric Mill

2

只是想说1.6应用程序可以在2.0上运行,但不是所有的2.0应用程序都可以在1.6上运行。其他人正在下载您的2.0应用程序,因为他们的手机上有2.0的Android系统(例如:摩托罗拉Droid)。

没有更多了,再见。

pd:对不起我的英语。


0

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

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

谢谢


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接