Подтвердить что ты не робот

Java.lang.NullPointerException(нет сообщения об ошибке)

Я знаю, что этот мой вопрос был задан много раз, и я выполнил большинство ответов, но ни один из них не помог мне. Так что это моя проблема, всякий раз, когда я синхронизирую свой проект, он всегда терпит неудачу. Вот как выглядит консоль gradle:

Выполнение задач: [: app: generateDebugSources,: app: generateDebugAndroidTestSources,: приложение: mockableAndroidJar,: Приложение: prepareDebugUnitTestDependencies]

Конфигурация по требованию - это функция инкубации. Инкрементальная java компиляция является инкубационной особенностью.: приложение: preBuild UP-TO-DATE: app: preDebugBuild UP-TO-DATE: приложение: checkDebugManifest: app: preReleaseBuild UP-TO-DATE: Приложение: prepareComAndroidSupportAnimatedVectorDrawable2420Library UP-TO-DATE: приложение: prepareComAndroidSupportAppcompatV72420Library UP-TO-DATE: приложение: prepareComAndroidSupportDesign2420Library UP-TO-DATE: app: prepareComAndroidSupportMediarouterV72300Library UP-TO-DATE: приложение: prepareComAndroidSupportRecyclerviewV72420Library UP-TO-DATE: app: prepareComAndroidSupportSupportCompat2420Library UP-to-DATE: app: prepareComAndroidSupportSupportCoreUi2420Library UP-TO-DATE: app: prepareComAndroidSupportSupportCoreUtils2420Library UP-TO-DATE: app: prepareComAndroidSupportSupportFragment2420Library UP-TO-DATE: app: prepareComAndroidSupportSupportMediaCompat2420Library UP-TO-DATE: app: prepareComAndroidSupportSupportV42420Library UP-TO-DATE: Приложение: prepareComAndroidSupportSupportVectorDrawable2420Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServices940Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServicesAds940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesAdsLite940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesAnalytics940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesAppindexing940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesAppinvite940Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServicesAuth940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesAuthBase940Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServicesBase940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesBasement940Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServicesCast940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesCastFramework940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesClearcut940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesContextmanager940Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServicesDrive940Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesFitness940Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServicesGames940Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServicesGass940Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServicesGcm940Library СВОЕВРЕМЕННО: app: 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'

Как решить проблему?

4b9b3361

Ответ 1

Я удалил папку .gradle из проекта и смог восстановить ее заново.

NB: Сделайте резервную копию, на всякий случай.

Ответ 2

Эта проблема возникает при внезапной перезагрузке системы, а затем поврежден файл gradle. и этот поврежденный файл кэширован, поэтому нам нужно удалить этот файл из вашего проекта

your_project_path/.gradle/2.14.1/taskArtifacts

Он снова будет сгенерирован.

Затем перезапустите студию Android и перекомпилируйте проект.

источник: https://code.google.com/p/android/issues/detail?id=220741#c13

Это сработало для меня.

Ответ 3

Если у вас все еще есть эта проблема, даже после удаления папки .gradle в вашем пути к проекту, как предложено выше, убить все процессы Java, выполняемые в диспетчере задач и попробуйте обновить Android Studio.

Я был в той же ситуации, но теперь он отлично работает.

Надеюсь, что это поможет!

Ответ 4

Вероятно, проблема связана с файлом gradle.properties. Если вы ./gradlew tasks в терминале ./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.folder).

  • Добавьте org.gradle.java.home=path в gradle.properties. где path - это Java-путь Android Studio (фактический 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" в пути является намеренным, оно не работает, если используется символ подчеркивания. Escape characters \ разрешены, но не нужны: ...Android\ Studio.app/Contents/jre....

Я также включил бегун для создания демона, но не нужен для выполнения его задач. Если ваша ошибка с нулевым указателем отличается, используйте --info чтобы указать вам в правильном направлении.

Я бегу:

Android Studio 3.1.4 (on a Mac 10.13)
java version "10"
classpath 'com.android.tools.build:gradle:3.1.4' (dependency)

Надеюсь, это поможет кому-то!

Ответ 5

У меня та же проблема, когда Java-версия 1.9

jenv use java 1.8 

вся проблема решена.

Ответ 6

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

Ответ 7

У меня была аналогичная проблема при импорте firebase в мой проект. Прежде всего, убедитесь, что вы правильно выполнили шаги обучения и импортировали предоставленный файл .json в правильный каталог.

Кроме того, поскольку firebase v9.0 он был внедрен в сервисы Google Play, поэтому, чтобы firebase работала правильно, убедитесь, что службы воспроизведения Google обновлены на тестируемом устройстве,

Я также нашел этот ответ полезным при решении моей проблемы fooobar.com/questions/30466/...

Ответ 8

Удалите ниже строки из зависимостей, потому что уже вы скомпилируете зависимость от игровых сервисов

    compile 'com.google.android.gms:play-services-location:9.4.0'
    compile 'com.google.android.gms:play-services-appindexing:9.4.0'

Ответ 9

Проверьте app/build.gradle. Моя проблема была ' в зависимости.

Ответ 10

Я получал 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)