Mar*_*ark 2 eclipse android intellij-idea
我有一个针对Android 15的Android项目,但有最低版本的Android 8.这在清单文件中定义:
<uses-sdk android:minSdkVersion="8"
android:targetSdkVersion="15"/>
Run Code Online (Sandbox Code Playgroud)
这意味着我只能使用Android 8以上的功能.
当我使用像String类'isEmpty()方法(在API 9中添加)这样的方法时,IntelliJ和Eclipse都很乐意编译它,但是当我在旧设备上运行它时,我会崩溃,因为API 8没有isEmpty( )实施.
有谁知道为什么IDE都不能抓住这样的东西?
我的Java编译器是版本1.6.0_33 - 会强制IDE在这里使用旧版本的帮助吗?
谢谢!如果有任何我错过的信息,请随时发表评论,我会挖掘信息!
它应该编译.这允许您通过包装类在更新的SDK中使用更新的方法.如果你的目标 SDK是8,那么IDE会抓住你并抱怨.
更多信息:
http://developer.android.com/guide/practices/compatibility.html
包装类技术非常有用.这篇博文中有一篇关于它的指南:
http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html
编辑:
应该注意Eclipse的最新ADT(r20,也许更早),其中Lint的默认设置将寻找minSDK之上的API方法的使用.但是,它只会在修改文件后检查文件,或者运行Lint.
更多关于Lint:http://tools.android.com/tips/lint
| 归档时间: |
|
| 查看次数: |
1402 次 |
| 最近记录: |