2010-07-25 30 views
5

我的应用程序要求设备至少运行Android 2.0操作系统。对我来说,使用2.0 SDK来编译我的项目会更有意义,还是使用最新的SDK编译我的项目更有意义,即使它远远超过2.0 ...?我应该用最新的SDK编译我的Android应用程序吗?

与2.1编译的问题,例如,我不知道如果一个Android 2.0设备甚至会运行一个应用程序编译2.1 ...?

+0

我认为它可以在其上运行的设备基于您在Manifest中声明的内容,在SDK级别中,不是? – Sephy 2010-07-25 16:52:59

+0

我认为这就是困惑开始的地方 - 我的minSDKVersion设置为5(Android 2.0),但是我正在使用SDK版本7(2.1)进行编译,这导致编译时警告指出了差异。我试图找出要采取的行动,如果有的话。 – 2010-07-25 17:08:01

回答

3

您可以target a later SDK version使用android:targetSdkVersion,同时仍然允许您的应用在早期版本上运行(因为应用根据android:minSdkVersion过滤掉)。如果您使用不支持的API,您的应用将强制关闭。因此,您必须在所有功能的文档中注意API level annotations,并在设置为使用最低SDK版本的模拟器上测试您的应用程序。

但是,在Android开发者博客对如何编写支持早期SDK版本的应用程序some good advice - 在一些额外的工作成本,当然。显然,这是否值得取决于你想要接触的人。

+0

很酷。我将设置我的targetSdkVersion等于我正在编译的SDK。我会保持minSdk设置为5.至于编译器警告,我会忽略它。谢谢。 – 2010-07-25 17:12:32

+0

只需添加一些测试(最好是自动化单元测试)与旧的模拟器,你应该没问题! – 2010-07-25 17:47:52

相关问题