我的应用程序有minSdkVersion = 8,targetSdkVersion = 15和SDK构建版本= 8.一般来说它运行良好,包括在ICS上,但我想为ICS用户提供更多功能,例如可调整大小的小部件。这需要将SDK构建版本增加到15。
我关注API静态安全性。例如,如果我无意中使用旧手机上没有的API功能。
处理SDK构建版本的优秀做法>的minSdkVersion?如何在发送新版本之前验证它是否在旧手机上没有损坏?解决这个问题的好方法是什么?
答案 0 :(得分:4)
我不知道这是否被视为"良好做法",但我只是打开文件project.properties
并将属性target=android-11
更改为我想要的任何API级别去检查。保存文件后,Eclipse将开始标记API调用高于设置版本的错误。我只是浏览它们,检查它们是否包含在API级检查中,然后再更改属性。
答案 1 :(得分:0)
我尝试了Glitch的回答(谢谢!),它有点工作但不像我预期的那样。我的小部件信息文件具有API 15属性,例如
android:minResizeWidth="40dp"
android:minResizeHeight="40dp"
android:resizeMode="horizontal|vertical"
当我将SDK构建版本从15更改为8时,这些行标记为错误(这很好),这导致R类的生成失败。这反过来将每个对R的引用标记为错误(hundrads)。现在,如果我有类似
的东西someApi15SpecificMethod(R.xyz)
由于参数未定义,因此无法安全地判断API 8中是否存在某些A ap15SpecificMethod(...)。
由于Glitch的回答是迄今为止最好的答案我在答案中标记了它,但请继续在这里发表想法。