我一直在旧设备上遇到NoSuchMethodException崩溃,我想知道为什么eclipse IDE至少没有给我使用旧设备上尚不支持的方法的警告。我正确地在AndroidManifest.xml中设置了minSDKVersion字段。如果我使用无法在minSdkVersion设备上运行的方法,是否有编译错误或至少出现警告?
我的AndroidManifest.xml中有以下内容
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" >
</uses-sdk>
我不想用旧设备测试这个巨大应用的每个屏幕和功能。
谢谢!
答案 0 :(得分:2)
将NewApi和InlineApi的Lint检查设置为错误。
right click project --> Properties --> Android Lint Preferences.
查找NewApi
和InlineApi
并将Severity
框设置为错误或致命。
答案 1 :(得分:1)
你可以使用lint。 Android Lint是ADT 16(和工具16)中引入的一种新工具,可以扫描Android项目源中的潜在错误。它既可以作为命令行工具使用,也可以与Eclipse
集成如果你使用的方法无法在minSdkVersion上运行,那么lint会大声说该方法无法使用。
http://developer.android.com/tools/help/lint.html
使用eclipse
http://tools.android.com/recent/neweclipselintui
提供的支票清单
http://tools.android.com/tips/lint-checks
Wrtiing自定义lint规则
http://tools.android.com/tips/lint-custom-rules
摘要:检查是否已定义最低SDK和目标SDK属性
优先级:9/10 严重性:警告 类别:正确性
清单应包含定义最小值的元素 应用程序运行所需的最低API级别以及目标 version(您测试版本的最高API级别。)
更多信息:http://developer.android.com/guide/topics/manifest/uses-sdk-element.html