問題タブ [android-lint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - TextView が選択可能であることを考慮する
TextView
XML に ID を持つそれぞれについて、次の警告 (Lint から) があります。
android:textIsSelectable="true" を指定して、テキスト値を選択可能にすることを検討してください。
なぜ突然(ADT 21.1から)起こったのか説明してもらえますか?TextView
Lint が、それぞれを選択可能にしたいと考えるのはなぜですか?
編集:無視できることはわかっていますが、解決策ではないと思います。
android - Eclipse で Lint 無視/除外リストを管理するにはどうすればよいですか?
Android プロジェクトの Eclipse では、xml ファイルにいくつかの警告があり、[このファイルのみのチェックインを無効にする] を使用してクイック修正ウィンドウを介して Lint の無視/除外リストにそれらのいくつかを追加しました。
ここで、再度チェックするリストからファイルを削除したいと思います。
Eclipse で Lint ファイル チェックの除外を管理するにはどうすればよいですか?
スタックオーバーフローやグーグルのどこにも解決策が見つかりませんでした。
android - AndroidでTwitter4jを使用すると、ライブラリでlintエラーが発生します - ライブラリでの無効なパッケージ参照
Twitter APIを使用するために、Androidアプリでtwitter4jを使用しています。すべてが正常に動作し、ライブラリに問題はありません。今日、私は lint を実行し、twitter4j-core-3.0.3.jar で lint エラーを取得しました。このサードパーティのライブラリを制御できないので、どうすればよいですか。
lint エラーは次のとおりです。
ライブラリのパッケージ参照が無効です。Android には含まれていません: javax.management.openmbean。twitter4j.management.APIStatisticsOpenMBean から参照。
問題: Android でサポートされていない API への API アクセスを見つける
Id: 無効なパッケージ
このチェックでは、ライブラリをスキャンして、Android に含まれていない API への呼び出しを探します。
Android プロジェクトを作成すると、Android に含まれる API パッケージのクラスにのみアクセスできるようにクラスパスが設定されます。ただし、他のプロジェクトを libs/ フォルダーに追加した場合、それらの .jar ファイルが Android 固有のクラスパスでビルドされているという保証はありません。特に、java.applet などのサポートされていない API にアクセスしている可能性があります。
このチェックでは、ライブラリ jar をスキャンして、Android に含まれていない API パッケージへの参照を探し、これらにフラグを立てます。これは、サポートされていないパッケージを参照するライブラリ クラスの 1 つをコードが呼び出す場合にのみエラーになります。
android - api-16 より前のデバイスで TextView#getMaxLines() を実行することは可能ですか?
私TextView#getMaxLines()
は自分のアプリケーションで数週間問題なく使用しました。
Lint は、API 16+ ( #setMaxLines()
API 1+...) でのみ利用可能であると通知していますが、(私の知る限り) この突然のフラグを引き起こすような変更は何もしていません - 私の min-sdk にはしばらくの間 8 でしたが、ソース管理にそれを証明するファイルがあります。
1) lint がこのエラーにランダムにフラグを立てているのはなぜですか? (明確にするために、最初にそれをキャッチする必要があったと言いたいのですが、これがフラグを立てるべきではなかったということを意味しているわけではありません)。
2) API 16 より前のデバイスで TextView の maxLines を取得する方法はありますか? ソースを確認しましたが、 2.2 デバイスで公開されているメソッドを使用してこの値を取得する方法を考案できませんでした。
android - 呼び出しには API レベル 16 が必要です (現在の最小値は 14 です): android.app.Notification.Builder#build
ドキュメントには、Notification.Builder が API レベル 11 で追加されたと書かれています。この lint エラーが発生するのはなぜですか?
呼び出しには API レベル 16 が必要です (現在の最小値は 14 です): android.app.Notification.Builder#build
マニフェスト:
何か不足していますか?
間違っていたら訂正してください。 API はレベル 11 で追加されますよね? API レベル 11 で追加
android - supressLint は型エラーに解決できません (android 初心者チュートリアル オンライン)
次のコードでは、 http://developer.android.com/training/basics/firstapp/starting-activity.html#StartActivityのAndroid 初心者向けチュートリアルに従っているときに問題が発生します。
Eclipse は次のように言っています: supressLint は、その行の横に小さな x がある型エラーに解決できません@SuppressLint("NewApi")
。
アプリケーションを保存して実行できません。
android - Android Lint で「呼び出しには API レベル 8 が必要です (現在の最小値は 8)」と表示されるのはなぜですか?
呼び出しに必要な API レベルが最小値よりも高いかどうかは理解できましたが、最小値に等しい場合になぜ問題になるのでしょうか?
android-lint - Android-Lint のカスタム ルールの作成
Q (tldr;):JavaScanner
in を使用して、特定の文字列をパラメーターとして指定した特定の関数呼び出しが try/catch ブロックで囲まれているかどうかを確認するにはandroid-lint
どうすればよいですか。
詳細: 公式サイトの android-lint チュートリアルを完了し、既存の .xml ファイルのソースを確認しましたlint-checks
。ただし、この AST ベースの JavaScanner の解析のワークフローを把握できないようです。私が達成しようとしているのは、特定のプロパティを設定する関数をキャッチし、それを try/catch ブロックで囲むことです。例えば:
lint ルールをトリガーするべきではありませんが、次のようになります。
でtry/catchブロックに囲まれていないためSetPropertyException
です。関数自体に try/catch を導入したくありません。これは、非常にまれなケースでのみ例外をスローするためです (関数の内部はリフレクション モジョに基づいています)。
この質問については、ワークフロー/ヒントでも問題ありません。最初の数ステップを踏むことができれば、もっとよく理解できるかもしれません。
アップデート:
set
さらに調査した結果、上記の関数を設定し、getApplicableMethodNames()
その関数のプロパティを何らかの方法で読み取って、チェックが適用されるかどうかを判断する必要があることがわかりました。その部分は簡単なはずです。
try/catch を囲むのはより難しく、「フロー分析」を行う必要があると思います。質問は今どうですか。
android - 「このテキスト フィールドを指すラベル ビューはありません」という警告メッセージの意味
この警告の意味は何ですか?
android:labelFor="@ id/@ id/editText1" 属性を持つこのテキスト フィールドを指すラベル ビューはありません
ダブル ID ( @id/@id
) はエラー メッセージ テキストの問題であり、XML コンテンツ (正しい構文) を反映していないことに注意してください。