30

Eclipse 拒绝构建我的 Android 项目。在包资源管理器中,项目根节点有一个红色的小错误符号,但它里面没有其他东西有这个符号。Problems 选项卡显示了 Lint 检测到的错误:

Call requires API level 3 (current min is 1): android.os.AsyncTask#<init>   
Call requires API level 3 (current min is 1): android.view.GestureDetector#<init>   
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#hideSoftInputFromWindow   
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#hideSoftInputFromWindow   
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#showSoftInput
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#showSoftInput
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#showSoftInput
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#toggleSoftInput
Call requires API level 3 (current min is 1): android.view.Menu#getItem 
Call requires API level 3 (current min is 1): android.view.Menu#getItem 
Call requires API level 3 (current min is 1): android.widget.HorizontalScrollView#getId 
Call requires API level 5 (current min is 1): android.app.Activity#onBackPressed    
Call requires API level 5 (current min is 1): android.app.Activity#onBackPressed    
Call requires API level 5 (current min is 1): android.app.Activity#onBackPressed    
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager  
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager  
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager  
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager  
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager
Class requires API level 3 (current min is 1): android.widget.HorizontalScrollView
Class requires API level 3 (current min is 1): android.widget.HorizontalScrollView
Field requires API level 3 (current min is 1): android.os.Build#DISPLAY
Field requires API level 4 (current min is 1): android.content.res.Configuration#screenLayout   
Field requires API level 4 (current min is 1): android.os.Build#CPU_ABI 
Field requires API level 4 (current min is 1): android.os.Build#MANUFACTURER
Field requires API level 4 (current min is 1): android.os.Build$VERSION#SDK_INT

我最好的猜测是 Lint 认为我的 minSdkVersion 是 1,但事实并非如此;我的清单声明minSdkVersion="8"。为了解决这个问题,我尝试了以下方法:

  • 重启 Eclipse
  • 重新启动我的电脑
  • 项目 > 清洁
  • 手动删除/bin/gen强制重新生成下摆

在这一点上,我没有想法。有人有建议吗?

4

5 回答 5

76

我有同样的问题,我的解决方案是:

右键单击项目文件夹 > Android 工具 > 清除 Lint Markers

“运行 Android Lint”会生成一些标记,这些标记会导致此错误。

于 2012-04-26T09:19:49.647 回答
16

Accepted Answer 中的“Clear Lint Markers”暂时消除了错误,但每次我在受影响的项目中保存文件时,它都会再次出现。

为了让它停止报告该错误,我不得不完全禁用 lint 检查:

Right click project -> Properties -> Android Lint Preferences

Search for "minSdk" in the search box

Click on "UsesMinSdkAttributes"

Click the "Ignore All" button at the bottom.

清理并重建项目,Eclipse/ADT 将不再对您的项目运行 minSdk 的 lint 检查。

于 2013-03-19T00:27:42.247 回答
6

确保你有android:命名空间标识符和minSdkVersion属性。像这样:

android:minSdkVersion="8".

在基于一些 Android 示例项目(如 BluetoothChat)创建项目时,命名空间会被省略并混淆 Lint。然后,即使清除 Lint 标记也不能真正解决问题,因为它们在再次运行 Lint 后重新出现,这经常自动发生。

注意:这已通过 API16 的样本修订版 1 进行了验证

于 2013-01-22T15:35:04.793 回答
2

尝试右键单击项目文件夹> Android工具>修复属性

您还应该检查您的所有 android 库和东西都已检查并以正确顺序加载的构建属性。右键单击项目>属性>构建

于 2012-04-25T19:59:04.117 回答
2

一个简单的Project -> Clean也为我解决了这个问题。

于 2012-12-09T20:28:52.070 回答