java.lang.NullPointerException (без сообщения об ошибке)
Я знаю, что этот мой вопрос задавался много раз, и я следовал большинству ответов, но ни один из них не помог мне. Так что это моя проблема, когда я синхронизирую свой проект, он всегда терпит неудачу. Вот как выглядит консоль Gradle:
Выполнение задач: [: app: generateDebugSources,: app: generateDebugAndroidTestSources,: app: mockableAndroidJar,: app: prepareDebugUnitTestDependencies]
Конфигурация по требованию является инкубационной функцией. Инкрементная компиляция Java является инкубационной функцией.: app: preBuild UP-TO-DATE:app:preDebugBuild UP-TO-DATE: app: checkDebugManifest: app: preReleaseBuild UP-TO-DATE:app:prepareComAndroidSupportAnimatedVectorDrawable2420Библиотека UP-TO-DATE: приложение: prepareComAppDableAppD7Пакция приложений приложение: prepareComAndroidSupportDesign2420Library UP-TO-DATE: приложение:prepareComAndroidSupportMediarouterV72300Library UP-TO-DATE: приложение:prepareComAndroidSupportRecyclerviewV72420Library UP-TO-DATE: приложение:prepareComAndroidSupportSupportCompat2420Library UP-TO-DATE: приложение:prepareComAndroidSupportSupportCoreUi2420Library UP-TO-DATE: приложение:prepareComAndroidSupportSupportCoreUtils2420Library UP-TO-DATE: приложение:prepareComAndroidSupportSupportFragment2420Library UP-TO-DATE: приложение:prepareComAndroidSupportSupportMediaCompat2420Library UP-TO-DATE: приложение:prepareComAndroidSupportSupportV42420Library UP-TO-DATE: приложение:prepareComAndroidSupportSupportVectorDrawable2420Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServices940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesAds940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesAdsLite940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesAnalytics940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesAppindexing940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesAppinvite940Library UP-TO- ДАТА: приложение:prepareComGoogleAndroidGmsPlayServicesAuth940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesAuthBase940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesBase940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesBasement940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesCast940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesCastFramework940Library ОБНОВЛЕНИЕ: приложение:prepareComGoogleAndroidGmsPlayServicesClearcut940Библиотека ОБНОВЛЕНИЕ: приложение:prepareComGoogleAndroidGmsPlayServicesContextmanager940Библиотека ОБНОВЛЕНИЕ: приложение: PrepareComGoogleAndroidGmsPlayServicesDrive940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesFitness940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesGames940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesGass940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesGcm940Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesIdentity940Library FAILURE: Строить не удалось с исключением.
Что пошло не так: java.lang.NullPointerException (без сообщения об ошибке)
Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить больше вывода журнала.
СТРОИТЬ НЕУДАЧИ
Общее время: 7,518 сек.
И это мои зависимости
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'
Как решить проблему?
17 ответов
Я удалил папку.gradle из проекта и смог восстановить ее заново. Сделайте резервную копию, на всякий случай.
Эта проблема возникла, когда система внезапно перезапустилась, а затем файл поврежден. и этот поврежденный файл кэшируется, поэтому нам нужно удалить этот файл из вашего проекта
your_project_path/.gradle/2.14.1/taskArtifacts
Он будет заново сгенерирован.
Затем перезапустите Android-студию и заново скомпилируйте проект.
источник: https://code.google.com/p/android/issues/detail?id=220741
Это работает для меня.
Если у вас все еще есть эта проблема, даже после удаления папки.gradle по пути вашего проекта, как предложено выше, убейте все процессы Java, запущенные в диспетчере задач, и попробуйте обновить вашу Android Studio.
Я был в такой же ситуации, но теперь все работает нормально.
Надеюсь, поможет!
У меня та же проблема, когда Java-версия 1.9
jenv use java 1.8
вся проблема решена.
Принятое решение представляет собой своего рода риск и может не подойти большинству людей.
Правильный ответ заключается в том, что, к сожалению, нет единого ответа.
Вы должны смотреть журналы для вашего случая (
Help > Show Logs
, или же
Show Logs in Explorer
а затем откройте
idea.log
файл в текстовом редакторе)
Там вы увидите всю трассировку стека с фактической ошибкой, в которой она произошла.
Оттуда имело бы смысл очистить кеш идей, как упоминается в принятом в настоящее время решении, или сделать что-то еще (в моем случае это были несоответствующие версии gradle/cmake/ndk, и не удаление моей папки кеша .gradle помогло бы)
У меня тоже была такая же ошибка. Я решил это: аннулирование кешей и перезапуск Android Studio
Проблема, скорее всего, в файле gradle.properties. Если вы печатаете ./gradlew tasks
в терминале вы видите ошибку, которую вы упомянули, но ./gradlew tasks --info
показывает более подробную информацию об ошибке. Для меня во всех моих проектах это было одно и то же сообщение об ошибке:
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]
Решение: (нет необходимости редактировать .bash_profile
или понизить Gradle или удалить gradle.folder).
- добавлять
org.gradle.java.home=path
в граде.свойства. гдеpath
это путь Java Studio Android (фактический дом Java, указанный в--info
журнал). Для меня это/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
Для вас путь может быть другим.
Вот как выглядит мой файл gradle.properties после изменения:
org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
org.gradle.daemon=true
Примечания. Пробел между "Android Studio" в пути является преднамеренным, он не работает, если используется подчеркивание. Побег персонажей \
разрешены, но не нужны: ...Android\ Studio.app/Contents/jre....
Я также включил сборщик демонов, но он не нужен для того, чтобы Gradlew мог выполнять свои задачи. Если ваша ошибка нулевого указателя отличается, используйте --info
чтобы указать вам в правильном направлении.
Я бегу:
Android Studio 3.1.4 (on a Mac 10.13)
java version "10"
classpath 'com.android.tools.build:gradle:3.1.4' (dependency)
Надеюсь, это поможет кому-то!
Удалите строки ниже из зависимостей, потому что вы уже компилируете полную зависимость сервисов воспроизведения
compile 'com.google.android.gms:play-services-location:9.4.0'
compile 'com.google.android.gms:play-services-appindexing:9.4.0'
Проверьте свои app/build.gradle
, Моя проблема была '
в зависимости.
Для меня проблема заключалась в том, что проект с открытым исходным кодом использовал старую версию gradle 3.4.0.
Отредактируйте build.gradle и измените
com.android.tools.build:gradle:x.x.x
до последней версии в зависимости. В моем случае,
com.android.tools.build:gradle:4.1.2
Снова откройте проект в Android Studio, теперь вы увидите еще одно сообщение об ошибке о минимальной версии Gradle, как на скриншоте ниже.
Нажмите на синий текст
Fix Gradle wrapper and re-import project
. Тебе должно быть хорошо идти
Я получил NPE из-за версии jdk, понижение с 11 до 8 решило эту проблему
Удалить 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)
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'
Не уверен, что это виновник, но у вас есть довольно беспорядок с использованными версиями здесь. Попробуйте использовать последние версии или хотя бы одинаковые для всех связанных компонентов.
Этот инструмент может помочь вам сохранить синхронизацию в будущем: https://github.com/ben-manes/gradle-versions-plugin
Также проверьте свои зависимости в файле build.gradle
В моем случае я удалил библиотеку Glide (реализация "com.github.bumptech.glide: glide: 4.9.0"), не удаляя соответствующую библиотеку аннотаций (annotationProcessor "com.github.bumptech.glide:compiler:4.11.0"). ")
После удаления этих двух библиотек ошибка сборки была исправлена.
проверить
local.properties
файл. Посмотрите, указывает ли значение * .dir на правильную папку.
В моем случае
ndk.dir
указывал в какую-то другую папку. Когда я исправил это, проблема исчезла.
ndk.dir=E\:\\Android\\local\\Android\\Sdk\\ndk-bundle
sdk.dir=E\:\\Android\\local\\Android\\Sdk
Для меня это сработало, чтобы удалить кеш Gradle на уровне каталога пользователя:/Users/<username>/.gradle/cache
. В--info
вариант показал там несоответствие.
У меня была похожая проблема при импорте Firebase в мой проект. Прежде всего убедитесь, что вы правильно выполнили шаги учебника и импортировали предоставленный файл.json в правильный каталог.
Кроме того, начиная с Firebase v9.0 он был внедрен в сервисы Google Play, поэтому для корректной работы FireBase убедитесь, что сервисы Google Play обновлены на тестируемом устройстве.
Я также нашел этот ответ полезным при решении моей проблемы /questions/15674496/ne-udalos-razreshit-comgooglefirebasefirebase-core900/15674511#15674511
Я в Android Studio Electric Eel | 2022.1.1
В моем случае проблема возникла, когда среда IDE не отвечала, и я принудительно завершил работу, а затем перезапустил среду IDE, а затем, возможно, (файл gradle поврежден и этот поврежденный файл кэширован)
Я решил проблему, просто аннулировав кеш и перезапустив.
Примечание:
Нажмите Файл-> Недействительные кеши...
Возможно, вам потребуется проверить все случаи во всплывающем окне.