web-dev-qa-db-ja.com

Android Lintは誤って最小SDKバージョンを1と見なします

Eclipseはmy Androidプロジェクトをビルドすることを拒否します。パッケージエクスプローラーでは、プロジェクトルートノードに小さな赤いエラーシンボルがありますが、その内部にはこのシンボルがありません。問題タブには、リント:

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と見なしているのですが、1ではありません。私のマニフェストはminSdkVersion="8"。これを修正するために私は次のことを試しました:

  • Eclipseを再起動する
  • コンピュータを再起動する
  • プロジェクト>クリーン
  • 手動で削除する/binおよび/genヘムを強制的に再生成します

この時点で私はアイデアがなくなっています。誰か提案がありますか?

30
jdk

私は同じ問題を抱えており、私の解決策は:

プロジェクトフォルダーを右クリック> Android tools> Clear Lint Markers

「実行Android Lint」はいくつかのマーカーを作成し、マーカーがこのエラーを引き起こします。

76
guanfei

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チェックを実行しなくなります。

16
DiscDev

Android:名前空間識別子とminSdkVersion属性があることを確認してください。このような:

Android:minSdkVersion="8"

一部のAndroidサンプルプロジェクト(BluetoothChatなど))に基づいてプロジェクトを作成すると、名前空間が省略されてLintが混乱します。Lintマーカーをクリアしても、Lintを再度実行した後に再び表示されるため、問題は本当に解決しません。 、これは自動的にかなり頻繁に発生します。

注:これはAPI16のサンプルリビジョン1で確認されました

6
Coryffaeus

プロジェクトフォルダーを右クリックしてみてください> Android tools> fix properties

すべてのAndroidライブラリがチェックされ、正しい順序で読み込まれていることもビルドプロパティで確認する必要があります。プロジェクトを右クリックして[プロパティ]> [ビルド]を選択します。

2
El Duderino

単純なProject-> Cleanでも問題が解決しました。

1
NameZero912