2012-04-13 2 views
0

Ich habe in meinem Android-Projekt Fusselwarnungen geklärt, aber einige von ihnen scheinen zu bestehen, auch nachdem ich sie behoben habe.Betankt Android Lint alte Ergebnisse irgendwo im Cache, und wenn ja, wie lösche ich es?

Zum Beispiel habe ich diese Warnung:

Use android.util.FloatMath#sqrt() instead of java.lang.Math#sqrt to avoid argument float to double conversion

Hey, gut zu wissen. Ich habe etwas gelernt. Also korrigiere ich den Fehler (und ich versuchte sowohl meine Mathematik zu konvertieren, double zu verwenden und Math für FloatMath zu ändern) und meinen Lint-Bericht erneut auszuführen. Die Warnung erscheint immer noch! Der Code-Snip, der im HTML-Bericht angezeigt wird, hat dieselbe Zeile wie zuvor, aber seit ich etwas Code verschoben habe, ist das, was angezeigt wird, nicht mehr relevant. So scheint es, als würde Lint die Ergebnisse der vorherigen Läufe irgendwie zwischenspeichern, aber ich habe nicht herausgefunden, wie ich das klären kann.

Ich benutze Befehlszeile Lint und generieren einen HTML-Bericht aus den Ergebnissen, wenn das relevant ist. Ich verwende den folgenden Befehl, der einen HTML-Bericht mit mehreren Dateien im Verzeichnis lint_report ausgibt und das Android-Projekt in project_directory scannt.

$ lint --html lint_report/ project_directory/ 

Kann ich alte Ergebnisse für Android Lint irgendwie löschen, oder ist das ein Fehler?

Antwort

1

Es stellt sich heraus, dass Android Lint verwendet die kompilierte Klassendateien für die Berichterstellung. Die Antwort besteht einfach darin, die App vor dem Ausführen des Lint-Berichts neu zu erstellen.

1

in Eclipse:

Erste

Rechtsklick auf Projekt> Android Tools> Clear Lint Marker

Dann

Rechtsklick auf Projekt> Android Tools> Run Lint: Auf häufige Fehler prüfen

Befehlszeile: (Nach dem Beispiel oben)

Erste

rm -rf ./project_directory/lint_report 

Dann

Run Lint wieder

+0

Dies wäre hilfreich, wenn ich Eclipse laufen würde! Meine IDE ist IntelliJ IDEA und auf jeden Fall führe ich meinen Bericht über die Befehlszeile aus. Ich habe meine Frage bearbeitet, um diese Tatsache deutlicher zu machen. – Argyle

+0

Ich habe meine Antwort aktualisiert. – HandlerExploit

+0

Versuchte das, und es hat nicht funktioniert. Ich habe den Bericht sogar in ein neu erstelltes Verzeichnis geschrieben, das vorher nicht existierte. Die Zeitstempel am Anfang der Berichte wurden immer aktualisiert, und es ist nicht wie ein JUnit-Bericht, in dem zig Millionen kleiner XML-Dateien aggregiert werden. Es ist nur eine Datei pro Projekt. – Argyle

Verwandte Themen