我目前有一个针对android 2.3(api等级10)的应用程序,但是认为可能使用Android 2.1 / 2.2或更早版本的人甚至无法在市场。
所以我认为使用api level 3会是最好用的,但我不知道这是否会使我的应用程序中的某些元素工作不太好,并且可能是buggier,因为它实际上使用了旧的android代码。有没有一个很好的方法来找出我应该使用哪个API级别,以及如何将我的应用程序转换为该级别?
答案 0 :(得分:43)
您可以找到正在使用的不同版本Android的细分here。目前,如果您的目标是2.1(API 7),那么您只会错过大约3%的市场份额。目标2.2将错过不到20%,或五分之一的市场。
至于转换您的应用,您可以查看Android Reference中可用的API级别内容。您会在浏览区域的右上角看到一个复选框和下拉菜单,允许您按API级别进行过滤 - 这是帮助转换的一种方法。另一种是设置目标和最小SDK版本,这将有助于Eclipse知道在代码中抱怨什么。然而,查看某些东西是否需要转换的最简单方法是模拟和测试。
编辑:API级别下拉列表在API列表中从右上角移动到左上角。
答案 1 :(得分:15)
This graph可以帮助你下定决心。
答案 2 :(得分:6)
查看向后兼容性是很好的,通常,您应该针对应用程序可以支持的最低版本的平台编译应用程序。
您可以通过针对连续降低构建目标编译应用程序来确定可能的最低平台版本。确定最低版本后,应使用相应的平台版本(和API级别)创建AVD并完全测试应用程序。确保在应用程序的清单中声明了android:minSdkVersion属性,并将其值设置为平台版本的API级别。祝你好运!
答案 3 :(得分:2)
如果你有
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10"/>
然后它会显示为1.6,但请确保您不使用他们的API中没有的任何内容
编辑:不要打扰3! :)
答案 4 :(得分:2)
我开始开发1.5,但很快意识到只有一小部分人仍然运行1.5。我通常在2.1级开发,并保持不变(除非你需要更高级别的功能)。要更改它,打开项目属性,虽然我没有打开环境,但有一个Android选项,您可以在其中选择要定位的API级别。
答案 5 :(得分:0)
最佳API级别包含以下内容 1)最好的API涵盖100%的市场,但都不是完美的,所以我们的应用程序应该被所有设备覆盖至少90%。
2)我们必须关注向后兼容性问题,我们的代码将适应即将推出的版本。
3)使用新的Android SDK是使用该级别添加的任何新API的要求。应该强调的是......最终是否需要支持额外3%的设备值得开发和测试。 4)查看此链接https://developer.android.com/guide/practices/compatibility.html#defined
5)最后选择最适合您的API API