Mam prosty projekt na Androida, który utworzyłem w Android Studio 0.4.0. Używam Gradle 1.9 i Gradle Android Plugin 0.7. Wczoraj dodałem bibliotekę ButterKnife Jake'a Whartona do mojego skryptu kompilacji gradle:
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'
}
Kiedy uruchamiam aplikację z Android Studio, kompilacja działa dobrze i działa poprawnie na moich urządzeniach. Ale kiedy próbuję (z wiersza poleceń), gradle build
kompilacja kończy się niepowodzeniem. Oto część z mojego raportu kłaczków:
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.
Może czegoś mi brakuje, ale żeby nie móc zbudować projektu w listwach zaciskowych możliwości CI dla projektów Android.
Każda pomoc byłaby świetna.
źródło
disable 'InvalidPackage'
android{}
bloku głównymlintOptions
w bibliotekach, ale powinno działać, jeśli umieścisz to wandroid
bloku głównym , spróbuj utworzyć osobne pytanie, jeśli jakoś to nie zadziała.jeśli
abortOnError false
nie rozwiąże problemu, możesz spróbować tego.źródło
gradle-retrolambda
orazproject-lombok
w wydaniuTutaj możesz wybrać odpowiednie opcje
źródło
Wystąpiły pewne błędy w Android Studio, które wystąpiły tylko wtedy, gdy wygenerowałem podpisany plik APK.
Aby tego uniknąć, dodałem do
build.gradle
źródło
Dodaj te wiersze do pliku build.gradle:
Następnie wyczyść swój projekt: D
źródło
Jeśli chcesz uniknąć opcji „abortInError false”, spójrz na plik build / lint-results-release-fatal.html. Oto błędy wykryte przez kłaczki.
Mam nadzieję, że to komuś pomoże!
źródło
javax.*
)W Android Studio v1.2 informuje, jak to naprawić:
źródło
Ten sam błąd występuje w AndroidStudio w wersji 0.51
Kompilacja działała dobrze i nagle, po zmianie tylko wartości kodu wersji, pojawił się błąd kompilacji związany z Lint.
Próbowano zmienić
build.gradle
, wyczyścić pamięć podręczną AndroidStudio i uruchomić ponownie, ale bez zmian.W końcu wróciłem do oryginalnego kodu (powodując błąd) i usunąłem go
android:debuggable="false"
zAndroidManifest.xml
, powodując powodzenie kompilacji.Dodałem ponownie i nadal działa ... Nie pytaj mnie dlaczego: S.
źródło
Jak dla mnie to złe i szybkie rozwiązanie twojego problemu:
Lepszym rozwiązaniem jest rozwiązanie problemu w kodzie, ponieważ narzędzie lint sprawdza pliki źródłowe projektów systemu Android pod kątem potencjalnych błędów i ulepszeń optymalizacji pod kątem poprawności, bezpieczeństwa, wydajności, użyteczności, dostępności i internacjonalizacji.
Ten problem występuje najczęściej, gdy:
Znajdź swoje błędy
Inspect Code
w Android Studio: ulepsz swój kod za pomocą Lintźródło
Application/build/reports/lint-results.html
. Raport jest bardzo szczegółowy i pomocny.Dodaj
do swojej aplikacji \ build.gradle
źródło