Wiem, że to moje pytanie było zadawane wiele razy i podążałem za większością odpowiedzi, ale żadna z nich nie pomogła. To jest mój problem, zawsze kiedy synchronizuję mój projekt, zawsze kończy się to niepowodzeniem. Oto jak wygląda konsola gradle:
Wykonywanie zadań: [: app: generationDebugSources,: app: generatedDebugAndroidTestSources,: app: mockableAndroidJar,: app: PreparatDebugUnitTestDependencies]
Konfiguracja na żądanie jest funkcją inkubującą. Przyrostowa kompilacja Java to funkcja inkubująca. : app: preBuild AKTUALNA DATA: aplikacja: preDebugBuild AKTUALNA DATA: aplikacja: checkDebugManifest: app: preReleaseBuild AKTUALNA DATA: app: PrzygotowanieComAndroidSupportAnimatedVectorDrawable2420Library AKTUALIZACJA DANYCH: app: przygotowanieComAndroid UP-TO-DATE: app: PrzygotowanieComAndroidSupportAnimatedVectorDrawable2420Library UP-TO-DATE: app: PrzygotowanieComAndroid Aplikacja: prepareComAndroidSupportDesign2420Library postępowy: ok: prepareComAndroidSupportMediarouterV72300Library postępowy: ok: prepareComAndroidSupportRecyclerviewV72420Library postępowy: ok: prepareComAndroidSupportSupportCompat2420Library postępowy: ok: prepareComAndroidSupportSupportCoreUi2420Library postępowy: ok: prepareComAndroidSupportSupportCoreUtils2420Library UP- TO-DATE: app: readyComAndroidSupportSupportFragment2420Library AKTUALNA DATA: aplikacja:
Co poszło nie tak: java.lang.NullPointerException (brak komunikatu o błędzie)
Spróbuj: Uruchom z opcją --stacktrace, aby uzyskać ślad stosu. Uruchom z opcją --info lub --debug, aby uzyskać więcej danych wyjściowych dziennika.
BUDOWA NIEUDANA
Całkowity czas: 7,518 sek
I to są moje zależności
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
compile 'com.google.android.gms:play-services:9.4.0'
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-location:9.4.0'
compile 'com.google.android.gms:play-services-appindexing:9.4.0'
compile 'com.google.firebase:firebase-messaging:9.2.0'
compile 'com.google.firebase:firebase-database:9.0.2'
compile 'com.firebase:firebase-client-android:2.4.0'
compile 'com.google.firebase:firebase-core:9.4.0'
}
apply plugin: 'com.google.gms.google-services'
Jak rozwiązać ten problem?
źródło
Odpowiedzi:
Usunąłem .gradle folderu z projektem i był w stanie odbudować go ponownie.
Uwaga: na wszelki wypadek wykonaj kopię zapasową.
źródło
Ten problem powstał, gdy nagle system uruchomił się ponownie, a następnie plik gradle został uszkodzony. i ten uszkodzony plik został zapisany w pamięci podręcznej, więc musimy usunąć ten plik z Twojego projektu
your_project_path/.gradle/2.14.1/taskArtifacts
Zostanie ponownie wygenerowany.
Następnie uruchom ponownie studio Android i ponownie skompiluj projekt.
źródło: https://code.google.com/p/android/issues/detail?id=220741#c13
To działa dla mnie.
źródło
Jeśli nadal masz ten problem, nawet po usunięciu folderu .gradle w ścieżce projektu, jak zasugerowano powyżej , wyłącz wszystkie procesy Java uruchomione w menedżerze zadań i spróbuj zaktualizować Android Studio .
Byłem w takiej samej sytuacji, ale teraz działa dobrze.
Mam nadzieję, że to pomoże!
źródło
Mam ten sam problem, gdy wersja java to 1.9
jenv use java 1.8
cały problem jest rozwiązany.
źródło
Problem prawdopodobnie dotyczy pliku gradle.properties. Jeśli wpiszesz
./gradlew tasks
terminal, zobaczysz błąd, o którym wspomniałeś, ale./gradlew tasks --info
pokaże więcej szczegółów na temat błędu. U mnie we wszystkich moich projektach był to ten sam komunikat o błędzie:Java home is different. Wanted: DefaultDaemonContext[uid=null,javaHome=/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home,daemonRegistryDir=/Users/christian/.gradle/daemon,pid=66346,idleTimeout=null,daemonOpts=-XX:MaxPermSize=512m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1536m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant] Actual: DefaultDaemonContext[uid=4bf81505-0eab-4f50-859a-8c9c616b97e5,javaHome=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home,daemonRegistryDir=/Users/christian/.gradle/daemon,pid=65018,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=512m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1536m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
Rozwiązanie: (nie ma potrzeby edytowania
.bash_profile
lub obniżania wersji gradle ani usuwania gradle.folder ).org.gradle.java.home=path
gradle.properties. gdziepath
jest ścieżka java Android Studio (rzeczywista strona główna java podana w--info
dzienniku). Dla mnie to/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
dla ciebie ścieżka może być inna.Tak wygląda mój plik gradle.properties po zmianie:
org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home org.gradle.daemon=true
Uwagi : Spacja między „ Android Studio ” w ścieżce jest zamierzona. Nie działa, jeśli jest używany znak podkreślenia. Znaki ucieczki
\
są dozwolone, ale nie są potrzebne:...Android\ Studio.app/Contents/jre....
Włączyłem również program uruchamiający kompilację demona, ale nie jest on potrzebny do uruchamiania jego zadań przez gradlew. Jeśli błąd wskaźnika zerowego jest inny, użyj,
--info
aby wskazać właściwy kierunek.Biegnę:
Android Studio 3.1.4 (on a Mac 10.13) java version "10" classpath 'com.android.tools.build:gradle:3.1.4' (dependency)
Mam nadzieję, że to komuś pomoże!
źródło
compile 'com.google.android.gms:play-services-location:9.4.0' compile 'com.google.android.gms:play-services-appindexing:9.4.0' compile 'com.google.firebase:firebase-messaging:9.2.0' compile 'com.google.firebase:firebase-database:9.0.2'
Nie jestem pewien, czy to jest winowajca, ale masz tutaj niezły bałagan z używanymi wersjami. Spróbuj użyć najnowszych wersji lub przynajmniej takich samych dla wszystkich powiązanych komponentów.
To narzędzie może pomóc Ci zachować synchronizację w przyszłości: https://github.com/ben-manes/gradle-versions-plugin
źródło
Miałem podobny problem podczas importowania Firebase do mojego projektu. Przede wszystkim upewnij się, że poprawnie wykonałeś instrukcje samouczka i zaimportowałeś dostarczony plik .json do odpowiedniego katalogu.
Ponadto, ponieważ firebase v9.0 został zaimplementowany w usługach Google Play, więc aby Firebase działał poprawnie, upewnij się, że usługi Google Play są aktualne na testowanym urządzeniu,
Uważam również, że ta odpowiedź jest pomocna podczas rozwiązywania mojego problemu https://stackoverflow.com/a/37310513/6728099
źródło
Usuń poniższe linie z zależności, ponieważ już kompilujesz pełną zależność usług odtwarzania
compile 'com.google.android.gms:play-services-location:9.4.0' compile 'com.google.android.gms:play-services-appindexing:9.4.0'
źródło
Sprawdź swoje
app/build.gradle
. Mój problem polegał'
na uzależnieniu.źródło
Otrzymywałem NPE z powodu wersji jdk, obniżenie z 11 do 8 rozwiązało ten problem
Aby usunąć jdk 11
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:kaptDebugKotlin'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110) Caused by: java.lang.NullPointerException at org.gradle.workers.internal.DefaultWorkerExecutor$2.transform(DefaultWorkerExecutor.java:164) at org.gradle.workers.internal.DefaultWorkerExecutor$2.transform(DefaultWorkerExecutor.java:161) at org.gradle.util.CollectionUtils.collect(CollectionUtils.java:204) at org.gradle.util.CollectionUtils.collect(CollectionUtils.java:187) at org.gradle.util.CollectionUtils.collect(CollectionUtils.java:191) at org.gradle.workers.internal.DefaultWorkerExecutor.getDaemonForkOptions(DefaultWorkerExecutor.java:161) at org.gradle.workers.internal.DefaultWorkerExecutor.submit(DefaultWorkerExecutor.java:96) at org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask.compile(KaptWithoutKotlincTask.kt:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
źródło
U mnie działało, aby usunąć pamięć podręczną Gradle na poziomie katalogu użytkownika:
/Users/<username>/.gradle/cache
. Ta--info
opcja wykazała tam niespójność.źródło