我想知道在 Android 3.0 中开发的应用程序是否可以在 Android 2.1 上运行。如果是这样,我该怎么做?
如果我使用 3.0 中的库(例如片段)开发应用程序,它会在 2.1 中工作吗?
我想知道在 Android 3.0 中开发的应用程序是否可以在 Android 2.1 上运行。如果是这样,我该怎么做?
如果我使用 3.0 中的库(例如片段)开发应用程序,它会在 2.1 中工作吗?
不会。但是 2.1 应用程序将在 3.0 下运行
您可以尝试复制您的代码并将其与 2.1 库一起使用,但有些事情将不起作用(您需要做一些额外的工作才能将其移植回来)。
可以编写针对 3.0 的应用程序,该应用程序也可以在 2.1 下运行。但是,它需要仔细使用库和兼容性库。
第一步是在清单文件中设置适当android:minSdkVersion
的值。android:targetSdkVersion
这将定义允许您的应用运行的设备范围。
第二个是确保您不要在较低版本的平台上使用来自更高版本 SDK 的任何 API 函数 - 尝试(例如尝试在 2.2 设备上使用 ActionBar)会导致您的应用程序崩溃。
我强烈建议阅读 Reto Meier 关于保持向后兼容性的文章: http: //blog.radioactiveyak.com/2011/01/how-to-use-gyroscope-api-and-remain.html http://blog.radioactiveyak .com/2011/02/strategies-for-honeycomb-and-backwards.html
此外,谷歌 I/O 应用程序的源代码绝对值得研究,看看它们如何处理在各种设备上运行,同时仍然利用 Honeycomb(及更高版本)版本的功能。