在较低的SDK上运行具有更高SDK的应用

时间:2011-05-24 11:53:51

标签: android android-sdk-tools

我想知道Android 3.0中开发的应用是否在Android 2.1上运行。如果是这样,我该怎么做?

如果我使用3.0中的库(如片段)开发应用程序,它是否可以在2.1?

中使用

2 个答案:

答案 0 :(得分:2)

没有。但2.1应用程序将在3.0以下运行

您可以尝试复制代码并将其与2.1库一起使用,但有些东西不起作用(您需要做一些额外的工作才能将其移植回来)。

答案 1 :(得分:1)

可以编写针对3.0的应用程序,该应用程序也在2.1下运行。但是,它需要仔细使用库和兼容性库。

第一步是在清单文件中设置适当的android:minSdkVersionandroid: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

此外,Googles I/O app的来源绝对值得研究,看看它们如何处理在各种设备上运行,同时仍然使用Honeycomb(及更高版本)版本的功能。