Ich habe ein einfaches Android-Projekt, das ich mit Android Studio 0.4.0 erstellt habe. Ich benutze Gradle 1.9 und Gradle Android Plugin 0.7. Gestern habe ich Jake Whartons ButterKnife-Bibliothek in mein Gradle-Build-Skript aufgenommen:
dependencies {
compile 'com.android.support:support-v4:19.0.0'
compile 'com.android.support:appcompat-v7:19.0.0'
// Butterknife
compile 'com.jakewharton:butterknife:4.0.1'
}
Wenn ich die Anwendung von Android Studio aus starte, läuft der Build einwandfrei und wird auf meinen Geräten korrekt ausgeführt. Aber wenn ich es versuche (über die Kommandozeile) gradle build
, schlägt der Build fehl. Hier ist ein Teil aus meinem Flusenbericht:
InvalidPackage: Package not included in Android
/home/yami/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/4.0.1/f43b36925363701633d01adb8e54df7150397a78/butterknife-4.0.1.jar: Invalid package reference in library; not included in Android: javax.annotation.processing. Referenced from butterknife.internal.InjectViewProcessor.
/home/yami/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/4.0.1/f43b36925363701633d01adb8e54df7150397a78/butterknife-4.0.1.jar: Invalid package reference in library; not included in Android: javax.annotation.processing. Referenced from butterknife.internal.InjectViewProcessor.
/home/yami/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/4.0.1/f43b36925363701633d01adb8e54df7150397a78/butterknife-4.0.1.jar: Invalid package reference in library; not included in Android: javax.annotation.processing. Referenced from butterknife.internal.InjectViewProcessor.
/home/yami/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/4.0.1/f43b36925363701633d01adb8e54df7150397a78/butterknife-4.0.1.jar: Invalid package reference in library; not included in Android: javax.annotation.processing. Referenced from butterknife.internal.InjectViewProcessor.
/home/yami/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/4.0.1/f43b36925363701633d01adb8e54df7150397a78/butterknife-4.0.1.jar: Invalid package reference in library; not included in Android: javax.annotation.processing. Referenced from butterknife.internal.InjectViewProcessor.
Vielleicht fehlt mir etwas, aber nicht in der Lage zu sein, das Projekt in den Terminalblöcken zu erstellen, blockiert die Möglichkeit von CI für Android-Projekte.
Jede Hilfe wäre großartig.
quelle
disable 'InvalidPackage'
android{}
natürlich in Wurzelblock setzenlintOptions
in die Bibliotheken zu stellen, aber es sollte funktionieren, wenn Sie dies in den Root-android
Block einfügen. Versuchen Sie, eine separate Frage zu erstellen, wenn es für Sie irgendwie nicht funktioniert.Wenn
abortOnError false
sich Ihr Problem nicht beheben lässt, können Sie dies versuchen.quelle
gradle-retrolambda
undproject-lombok
in der Veröffentlichung gerettetHier können Sie die richtigen Optionen auswählen
quelle
Ich hatte einige Flusenfehler in Android Studio, die nur auftraten, als ich eine signierte APK generierte.
Um dies zu vermeiden, habe ich Folgendes hinzugefügt
build.gradle
quelle
Fügen Sie diese Zeilen zu Ihrer build.gradle-Datei hinzu:
Reinigen Sie dann Ihr Projekt: D.
quelle
Wenn Sie die Option "abortInError false" vermeiden möchten, sehen Sie sich die Datei build / lint-results-release-fatal.html an. Hier sind die durch Flusen erkannten Fehler.
Ich hoffe das kann jemandem helfen!
quelle
javax.*
)In Android Studio v1.2 erfahren Sie, wie Sie das Problem beheben können:
quelle
Habe den gleichen Fehler auf AndroidStudio Version 0.51
Build funktionierte einwandfrei und plötzlich, nachdem ich nur den Versionscode geändert hatte, bekam ich einen Lint-bezogenen Build-Fehler.
Versucht zu ändern
build.gradle
, AndroidStudio Cache geleert und neu gestartet, aber keine Änderung.Schließlich kehrte ich nach Original - Code (den Fehler verursacht), und entfernt
android:debuggable="false"
vonAndroidManifest.xml
, so dass der Build erfolgreich zu sein.Ich habe es wieder hinzugefügt und es funktioniert immer noch ... Frag mich nicht warum: S.
quelle
Für mich ist es eine schlechte und schnelle Lösung für Ihr Problem:
Eine bessere Lösung besteht darin, Probleme in Ihrem Code zu lösen, da das Lint-Tool Ihre Android-Projektquelldateien auf potenzielle Fehler und Optimierungsverbesserungen auf Richtigkeit, Sicherheit, Leistung, Benutzerfreundlichkeit, Zugänglichkeit und Internationalisierung überprüft.
Dieses Problem tritt am häufigsten auf, wenn:
Finden Sie Ihre Fehler
Inspect Code
in Android Studio: Verbessern Sie Ihren Code mit Lintquelle
Application/build/reports/lint-results.html
. Der Bericht ist sehr detailliert und hilfreich.Hinzufügen
zu Ihrer App \ build.gradle
quelle