3

我一直在旧设备上遇到 NoSuchMethodException 崩溃,我想知道为什么 eclipse IDE 至少没有警告我使用旧设备上尚不支持的方法。我在我的 AndroidManifest.xml 中正确设置了 minSDKVersion 字段。如果我使用无法在 minSdkVersion 设备上运行的方法,是否会出现编译错误或至少是警告?

我的 AndroidManifest.xml 中有以下内容

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" >
</uses-sdk>

我不想用旧设备测试这个巨大应用程序的每个屏幕和功能。

谢谢!

4

2 回答 2

2

将 NewApi 和 InlineApi 的 Lint 检查设置为错误。

right click project --> Properties --> Android Lint Preferences.   

查找NewApi并将框InlineApi设置Severity为错误或致命。

于 2013-04-19T04:08:12.420 回答
1

你可以使用棉绒。Android Lint 是 ADT 16(和 Tools 16)中引入的一个新工具,它可以扫描 Android 项目源中的潜在错误。它既可以作为命令行工具使用,也可以与 Eclipse 集成

如果您使用无法在 minSdkVersion 上运行的方法,则 lint 会大声说该方法无法使用。

http://developer.android.com/tools/help/lint.html

与日食一起使用

http://tools.android.com/recent/neweclipselintui

提供的支票清单

http://tools.android.com/tips/lint-checks

编写自定义 lint 规则

http://tools.android.com/tips/lint-custom-rules

使用MinSdk属性

摘要:检查是否定义了最小 SDK 和目标 SDK 属性

优先级:9 / 10 严重性:警告类别:正确性

清单应包含一个元素,该元素定义应用程序运行所需的最低 API 级别,以及目标版本(您测试过的版本的最高 API 级别。)

更多信息:http: //developer.android.com/guide/topics/manifest/uses-sdk-element.html

于 2013-04-19T04:18:03.143 回答