我的应用程序有minSdkVersion = 8,targetSdkVersion = 15和SDK build version = 8。一般来说,它工作得很好,包括在ICS上,但我想为ICS用户提供更多的功能,例如可调整大小的小部件。这还需要将SDK内部版本增加到15。
我关心的是API的静态安全性。例如,如果我无意中使用了旧手机上不可用的API功能。
处理SDK build version > minSdkVersion有哪些好的实践?如何在发布新版本之前验证它在旧手机上不会损坏?有什么好的实践来解决这个问题?
发布于 2012-01-14 18:09:17
我不知道这是否被认为是“良好的实践”,但我只是打开文件project.properties并将属性target=android-11更改为我想要检查的任何API级别。保存文件后,Eclipse将在设置的版本以上的API调用所在的位置标记错误。我只需扫描它们,检查它们是否包含在API级别的检查中,然后更改属性。
发布于 2012-01-17 00:47:58
我尝试了Glitch的答案(谢谢!),它有点工作,但并不像我预期的那样。我的小部件信息文件具有API 15属性,例如
android:minResizeWidth="40dp"
android:minResizeHeight="40dp"
android:resizeMode="horizontal|vertical"当我将SDK build版本从15更改为8时,这些行被标记为错误(这很好),这将导致R类的生成失败。这反过来将每个对R的引用标记为错误(hundrads)。现在,如果我有像这样的东西
someApi15SpecificMethod(R.xyz)因为参数是未定义的,所以它不能安全地判断someApi15SpecificMethod(...)存在于API 8中。
由于Glitch的答案是目前为止最好的,所以我在答案处给出了它,但请继续在这里发表想法。
https://stackoverflow.com/questions/8860473
复制相似问题