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 поврежден и этот поврежденный файл кэширован)

Я решил проблему, просто аннулировав кеш и перезапустив.

Примечание:

Нажмите Файл-> Недействительные кеши...

Возможно, вам потребуется проверить все случаи во всплывающем окне.

Другие вопросы по тегам