2012-03-24 8 views
9

Wenn ich "Flusen" laufen lasse. innen Projektverzeichnis erhalte ich die erwarteten Warnungen, aber wenn ich es von innen Eclipse laufen bekomme ich Unsinn Fehler und Warnungen, zum Beispiel:Lint für Android in Eclipse gibt falsche Ergebnisse

  • Die Ressource R.array.settings_derivatives [in der Tat nicht verwenden, erscheint, ist es Gebrauchte]
  • der xyz wird im manifesten nicht registriert [in der Tat ist es registriert]
  • Anruf erfordert API-Ebene 3 (Strom min wird 1): android.view.SurfaceView # isInEditMode [in der Tat wird auf minSdkVersion 7]

bearbeiten: Wenn ich einen neuen Arbeitsbereich erzeuge und die vorhandenen Projekte importiere bekomme ich die richtigen Fehler

+0

[Anruf erfordert API-Ebene 3] (http://developer.android.com/reference/android/view/View.html#isInEditMode%28%29) ist wahr. Es geht nicht um Ihr Zielniveau, sondern um die "seit API 3", bei der diese Methode eingeführt wurde. Sie können diese Warnung wahrscheinlich deaktivieren - es macht nur Sinn, wenn Sie Ihre App auf einen niedrigeren Mindestlevel portieren möchten, den Sie derzeit haben – zapl

+0

Es ist wahr, aber es sollte nicht gemeldet werden, da ich die minSdkVersion auf 7 gesetzt habe Es wird nicht als Warnung gemeldet, sondern als Fehler ... Und mein Punkt ist, dass das Kommandozeilen-Tool ein anderes [korrektes] Ergebnis liefert. – miniBill

+0

Stellen Sie zuerst sicher, dass Sie die neuesten Tools (R17) und die entsprechende Eclipse verwenden Plugin. Wenn die Probleme weiterhin bestehen, erstellen Sie ein Beispielprojekt, das das Problem reproduziert, und senden Sie dann einen Fehlerbericht an http://b.android.com. Ich habe nicht gesehen, dass diese besonderen Nachrichten vorher vorkommen. – CommonsWare

Antwort

3

Es scheint ein Problem zu geben, wenn das Projektverzeichnis nicht direkt unter dem Arbeitsbereichsverzeichnis liegt. http://code.google.com/p/android/issues/detail?id=27527

Edit::

Ab heute der Fehler sollte 20 in Version behoben

Bei Bedarf können Sie einen Softlink in den Arbeitsbereich machen.

3

Das Problem wurde gelöst, indem der Arbeitsbereich auf einen neuen umgestellt wurde. Es war wahrscheinlich ein Problem mit Einstellungen, die von früheren Versionen übrig geblieben sind

-1

"Preference -> Android -> Lint Fehlerprüfung", Suche Probleme "NewApi", und Sie können die Einstellungen sehen.

Diese Prüfung durchsucht alle Android-API-Aufrufe in der Anwendung und warnt über alle Anrufe, die von dieser Anwendung auf alle Versionen gezielt nicht verfügbar sind (nach seinem Minimum SDK Attribut im Manifest).

Wenn Ihr Code ist bewusst neuere APIs zugreifen, und Sie haben dafür gesorgt, (zB bei der bedingten Ausführung), dass dieser Code wird immer nur auf einer unterstützten Plattform aufgerufen werden, dann können Sie Ihre Klasse oder Methode mit dem @TargetApi mit Anmerkungen versehen

+1

Ich weiß, was die Warnung bedeutet. Der Punkt ist, dass die Warnung nicht da sein sollte! – miniBill

0

ich das gleiche Problem mit diesem gelöst: -

Rechtsklick auf den Projektordner> Android-Tools> Clear Link-Marker

"Run Android Lint" macht einige Markierungen und die Markierungen verursachen diesen Fehler.

Verwandte Themen