問題タブ [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.

0 投票する
1 に答える
449 参照

java - Lintは、マークされているにもかかわらず、プロジェクトエラーを検出しません。

最近、developers.android.comでCustomViewチュートリアルを確認しました。コードを自分のプロジェクトに適合させているときに、クラスエディターでエラーが行ごとにマークされていても、完全に進行していることに気付きました。 lintによって検出されません。

これまでのところ、これと、単に「パースペクティブに名前を付けて保存」してEclipseを再起動することを提案する記事を試しました。

ここに画像の説明を入力してください

これは簡単に修正できる問題だと思います。私自身、無意識のうちに引き起こした可能性があります...他のプロジェクトのエラーはLintに問題なく表示されるためです。

おそらく、この質問で説明されているように、lint.xmlを見つける必要があります-?-それがどこにあるのか考えてみてください。

0 投票する
5 に答える
27290 参照

android - 0dp がパフォーマンスの向上と見なされるのはなぜですか?

この質問の最後に、コメントと解決策を組み合わせた回答が記入されています。

質問

私は周りを検索しましたが、Android LintといくつかのEclipseのヒントがいくつかのlayout_heightと のlayout_width値を0dp.

たとえば、ListView変更が提案された

同様に、ListView itemへの変更を提案しました。これらはすべて変更の前後で同じように見えますが、なぜこれらがパフォーマンス ブースターなのかを理解したいと思っています。

誰にも理由の説明がありますか?それが役立つ場合、ここに を使用した一般的なレイアウトがありListViewます。

答え

実際には回答と以下の参照リンクの組み合わせであるため、ここに回答を入れています。私が何か間違っている場合は、私に知らせてください。

から0dip layout_height または layouth_width のトリックは何ですか?

高さで機能する 3 つの一般的なレイアウト属性があります。

  1. android:layout_height
  2. android:layout_width
  3. android:layout_weight

aLinearLayoutverticalの場合、 は子s ( ) の高さlayout_weightに影響します。を に設定すると、この属性が無視されます。ViewListViewlayout_height0dp

aLinearLayouthorizo​​ntalの場合、 は子s ( ) のlayout_weightに影響します。を に設定すると、この属性が無視されます。ViewListViewlayout_width0dp

この属性を無視する理由は、無視しないと、より多くの CPU 時間を使用するレイアウトの計算に使用されるためです。

さらに、これにより、3 つの属性を組み合わせて使用​​する場合にレイアウトがどのように見えるかについての混乱を防ぐことができます。これは、以下の回答で@android 開発者によって強調されています。

また、Android LintEclipseはどちらも を使用すると言っています0dip0dip以下の回答から、0dp、 、 などを使用できます0px。ゼロのサイズはどの単位でも同じだからです。

ListView で wrap_content を避ける

ListView の Layout_widthから

getView(...)がなぜ私のように何度も呼び出されるのか疑問に思ったことがあるなら、それは に関連していることがわかりwrap_contentます。

上記で使用してwrap_contentいたように使用すると、すべての子Viewが測定され、CPU 時間がさらに長くなります。この測定により、あなたgetView(...)が呼び出されます。これをテストしたところ、呼び出される回数getView(...)が劇的に減少しました。

私がwrap_content2つListViewのsで使用していたとき、1つのgetView(...)行ごとに3回、もう1つの行ListViewごとに4回呼び出されました。

これを推奨の に変更すると、0dpgetView(...)ごとに 1 回だけ呼び出されました。これはかなりの改善ですwrap_contentListView0dp.

ただし、このため、の提案により0dpパフォーマンスが大幅に向上します。

0 投票する
3 に答える
1910 参照

android - 部分的な翻訳の Android Lint の「MissingTranslation」チェックを無視する

私のアプリには、完全に翻訳された言語セットと、いくつかの文字列のみが翻訳された別の言語セットがあります。

完全に翻訳された言語については、MissingTranslations について Lint に警告してもらいたいです。

部分的な翻訳がある言語については、Lint で MissingTranslations を無視したいと考えています。

これらの両方の目標を同時に達成する方法がわかりません。

0 投票する
3 に答える
7043 参照

android - Android Eclipse Lint API チェック

Building multi-SDK Android apps in Eclipse without compile-time checks の質問に対する正しい答えのように見えるものについて、PT に感謝します。ただし、 @TargetApi() アノテーションを推奨どおりに使用しようとすると、構文エラーが発生します。

@TargetApi 行がコードの途中にある場合、場所 3 に示すように 2 つの構文エラーが生成されます。

示されているように、ステートメント@TargetApiの前または後に行があるかどうかに関係なく、エラーが存在します。@TargetApi() を正しく機能させるために、記事http://tools.android.com/recent/lintapicheckifに記載されていない前提条件 (インポート) またはその他の考慮事項はありますか?Lint API Check

--- 2012 年 9 月 3 日を編集 ---

@TargetApi アノテーションをクラス定義の前 (位置 1 として表示) またはメソッド定義の前 (位置 2 として表示、@Override アノテーションの前または後) に移動すると、さまざまなエラーが発生します。

--- 2012 年 9 月 4 日を編集 ---

完全なソースコードは次のとおりです。

0 投票する
7 に答える
64584 参照

android - これを解決する方法:'Androidlintの実行'の問題

プロジェクトのどのアクティビティでも、変更を加えてそのアクティビティを保存すると、「Androidlintの実行中に問題が発生しました」というメッセージが表示されます。

これは私のエラーログです:

これを解決する方法がわかりません。

0 投票する
11 に答える
66573 参照

android - AndroidLintが翻訳されていない文字列について文句を言うのを避ける

ディレクトリ内のファイル内の文字列value-* が意図的に他の言語に翻訳されないように指定することは可能ですか?すべての言語に共通で翻訳の必要がない文字列がたくさんあるので、unlocalized-strings.xmlディレクトリ内にファイルを作成しましたvalues。AndroidLintを実行して問題をチェックすると、一部の翻訳が欠落していると表示され続けます。プロジェクト全体でこのチェックを無効にするには、一部のXMLファイルでのみこのチェックを無効にします。それは可能ですか?

ローカライズされていない文字列のこの領域をどのように定義できますか?

0 投票する
4 に答える
160511 参照

android - 「android:allowBackup」とは何ですか?

新しい ADT プレビュー バージョン (バージョン 21)以降、マニフェスト ファイル (アプリケーション タグ内) に次のことを知らせる新しい lint 警告があります。

android:allowBackup を明示的に true または false に設定する必要があります (デフォルトでは true であり、アプリケーションのデータのセキュリティに影響を与える可能性があります)。

公式ウェブサイトでは、彼らは次のように書いています。

いくつかの新しいチェック: アプリがバックアップを許可するかどうかを明示的に決定する必要があり、ラベル チェックがあります。ライブラリ パスを設定するための新しいコマンド ライン フラグがあります。編集中のインクリメンタル lint 分析に対する多くの改善。

この警告は何ですか? バックアップ機能とは何ですか? また、どのように使用しますか?

また、セキュリティに影響があると警告が表示されるのはなぜですか? この機能を無効にすることの欠点と利点は何ですか?


マニフェストのバックアップには 2 つの概念があります。

  • 「android: allowBackup」では、次のように、adb 経由でバックアップと復元を行うことができます

アプリケーションがバックアップおよび復元インフラストラクチャに参加できるようにするかどうか。この属性が false に設定されている場合、アプリケーションのすべてのデータが adb 経由で保存される完全なシステム バックアップであっても、アプリケーションのバックアップまたは復元は実行されません。この属性のデフォルト値は true です。

人々がADB経由でアプリをバックアップし、アプリのプライベート データを自分の PC に取り込む可能性があるため、これはセキュリティ上の問題と見なされます。

ただし、ほとんどのユーザーはadbが何であるかを知らないため、それは問題ではないと思います。もし知っていれば、デバイスをルート化する方法も知っているでしょう。ADB 機能は、デバイスでデバッグ機能が有効になっている場合にのみ機能し、これにはユーザーが有効にする必要があります。

そのため、デバイスを PC に接続し、デバッグ機能を有効にしているユーザーのみが影響を受けます。PC に ADB ツールを使用する悪意のあるアプリがある場合、アプリがプライベート ストレージ データを読み取る可能性があるため、これは問題になる可能性があります。

Google は、デフォルトで無効になっている機能を開発者カテゴリに追加して、ADB を介したアプリのバックアップと復元を許可する必要があると思います。

  • 「android: backupAgent 」を使用すると、ここここに示すように、クラウドのバックアップと復元機能を使用できます。

BackupAgent のサブクラスである、アプリケーションのバックアップ エージェントを実装するクラスの名前。属性値は、完全修飾クラス名 (「com.example.project.MyBackupAgent」など) である必要があります。ただし、省略形として、名前の最初の文字がピリオド (「.MyBackupAgent」など) の場合、要素で指定されたパッケージ名に追加されます。デフォルトはありません。名前を指定する必要があります。

これはセキュリティ上の問題ではありません。

0 投票する
1 に答える
1208 参照

android - JenkinsLintプラグインが結果を取得しない

Android Lintプラグインプラグインをjenkinsにインストールし、Androidプロジェクトビルド(mavenでビルド)でアクティブ化しました。次に、コマンドを使用してビルド後のアクションとして「executeshell」を追加しました

説明したように。lint-results.xmlファイルはルートワークスペースフォルダーに作成され、結果が含まれています。しかし、どういうわけか、プラグインは結果を取得してどこにも表示しません。

結果のxmlファイルに別のファイル名と場所を構成しようとしましたが、それは役に立たなかったようです。

何がうまくいかなかったのでしょうか?

0 投票する
1 に答える
150 参照

android - Android: eclipse res/values で引き続き表示される警告を修正

res/values-folder値が使用されていない場所があり、その結果、それを知らせる警告があったため、を修正しました。

未使用のものを「クリーニング」したので、警告はまだ表示されています。最初にプロジェクトを数回再構築し、Eclipse を再起動して、最後に PC を再起動しましたが、何も影響していないようです。

たとえば、私のcolors.xmlファイル

ここに画像の説明を入力

ご覧のとおり、「背景」という値はもうありません。値「黒」が使用されていないと主張する他の警告と同じこと、およびstrings.xmlの約20の値について同じこと。これを修正するトリックはありますか?

0 投票する
3 に答える
2802 参照

android - 修正後、Eclipseエラーマークが消えない

私はEclipseJunoでAndroidアプリケーションを開発しており、MACOSLionを使用しています。xmlファイルのエラーを修正しても、エラーマークが消えず、修正してもコードをコンパイルできません。[ウィンドウ]->[ビューの表示]->[問題]から削除しようとしましたが、コードをコンパイルするとエラーが返されました。私がそれを解決するために考え出した唯一の方法は、ファイル内のすべてのコンテンツをトリミングし、エラーなしでxmlを保存してから、同じコードをxmlファイル内に再度貼り付けることです。エラーは、そこに何もなかったかのように消えます。なぜそれが起こるのですか?