java.lang.NullPointerException (sin mensaje de error)


81

Sé que esta pregunta me ha sido formulada muchas veces y seguí la mayoría de las respuestas, pero ninguna me ayudó. Así que este es mi problema, siempre que sincronizo mi proyecto siempre falla. Así es como se ve la consola de Gradle:

Ejecución de tareas: [: app: generateDebugSources,: app: generateDebugAndroidTestSources,: app: mockableAndroidJar,: app: prepareDebugUnitTestDependencies]

La configuración bajo demanda es una característica de incubación. La compilación incremental de Java es una función de incubación. : app: preBuild UP-TO-DATE: app: preDebugBuild UP-TO-DATE: app: checkDebugManifest: app: preReleaseBuild UP-TO-DATE: app: prepareComAndroidSupportAnimatedVectorDrawable2420Library: UP-TO-DATE: app: prepareComAndroidV72420AppLibrary aplicación: prepareComAndroidSupportDesign2420Library ARRIBA AL DÍA: app: prepareComAndroidSupportMediarouterV72300Library ARRIBA AL DÍA: app: prepareComAndroidSupportRecyclerviewV72420Library ARRIBA AL DÍA: app: prepareComAndroidSupportSupportCompat2420Library ARRIBA AL DÍA: app: prepareComAndroidSupportSupportCoreUi2420Library ARRIBA AL DÍA: app: prepareComAndroidSupportSupportCoreUtils2420Library UP- HASTA LA FECHA: aplicación: prepareComAndroidSupportSupportFragment2420Library ACTUALIZADA: aplicación:

  • Qué salió mal: java.lang.NullPointerException (sin mensaje de error)

  • Prueba: Ejecuta con la opción --stacktrace para obtener el seguimiento de la pila. Ejecute con la opción --info o --debug para obtener más resultados de registro.

CONSTRUCCIÓN FALLIDA

Tiempo total: 7.518 segundos

Y estas son mis dependencias

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'

¿Cómo resolver el problema?


3
Estaba teniendo el mismo problema en este momento. Construir -> Proyecto limpio, luego volver a ejecutar funcionó para mí.
w3bshark

algunas veces Android Studio no identifica errores como. 1.error sintaxis, 2.resources no encontraron, en 3.changes código .. y otros .. Mi caso no ha encontrado cambios ..
marlonpya

@marlonpya echa un vistazo aquí , lo más probable es que el problema sea con gradle.properties.
cambio el

Cada vez que actualizo Android Studio, suceden cosas raras como esta. La construcción limpia de w3bshark funcionó para mí.
Dale

Respuestas:


189

He suprimido .gradle carpeta del proyecto y fue capaz de reconstruir de nuevo.

NB: Haga una copia de seguridad, por si acaso.


¿A qué archivo gradle te refieres?
sweetzyl pili

6
En la carpeta raíz de su proyecto, hay una carpeta ".gradle". Elimínelo y reinicie Android Studio, se volverá a crear durante la compilación.
rastik

¿Se han enfrentado a algo parecido a esto? ( stackoverflow.com/questions/39749380/… ). Esto ciertamente no funcionó para mí: / @rastik
Siddhant Rimal

No puedo encontrar ninguna carpeta .gradle en la carpeta de mi proyecto, solo la carpeta gradle pero no .gradle, estoy usando MAC, ¿alguna1 resuelve esto?
aznelite89

5
eliminar .gradle no funciona con otras soluciones? Veo esta carpeta compileDebugJavaWithJavac en la carpeta app-tmp y tiene una carpeta vacía llamada emptySourcePathRef ... el proyecto de limpieza elimina esta carpeta, así que supongo que es así, pero todavía aparece el error
Aalap Patel

28

Este problema se creó cuando el sistema se reinició repentinamente, luego el archivo gradle se corrompió. y ese archivo dañado en caché, por lo que debemos eliminar este archivo de su proyecto

your_project_path/.gradle/2.14.1/taskArtifacts

Se volverá a generar.

Luego reinicie el estudio de Android y vuelva a compilar el proyecto.

fuente: https://code.google.com/p/android/issues/detail?id=220741#c13

Me ha funcionado.


Solo una nota, asegúrese de cerrar la ventana de todos los proyectos para reiniciar Android Studio, no solo la ventana del proyecto.
Fruta

funciona para mí (pb con ionic (Ionic CLI): 3.19.0) Error en la ejecución de la tarea ': compileArmv7DebugJavaWithJavac'. > java.lang.NullPointerException (sin mensaje de error)
m50

3

Si todavía tiene este problema, incluso después de eliminar la carpeta .gradle en la ruta de su proyecto, como se sugirió anteriormente , elimine todos los procesos de Java que se ejecutan en el administrador de tareas e intente actualizar su Android Studio .

Estaba en la misma situación pero ahora funciona bien.

¡Espero eso ayude!


2

Tengo el mismo problema cuando la versión de Java es 1.9

jenv use java 1.8 

todo problema está resuelto.


1

Es probable que el problema sea el archivo gradle.properties. Si escribe ./gradlew tasksen la terminal, verá el error que mencionó, pero ./gradlew tasks --infomuestra más detalles sobre el error. Para mí, en todos mis proyectos, fue el mismo mensaje de error:

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]

Solución: (no es necesario editar .bash_profileo degradar gradle o eliminar gradle.folder ).

  • Agregue org.gradle.java.home=pathgradle.properties. donde pathestá la ruta de Java de Android Studio (la casa de Java real se indica en el --inforegistro). Para mi es/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home , para ti, el camino podría ser diferente.

Así es como se ve mi archivo gradle.properties después del cambio:

org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
org.gradle.daemon=true 

Notas : El espacio entre " Android Studio " en la ruta es intencional, no funciona si se usa un guión bajo. \Se permiten caracteres de escape pero no son necesarios:...Android\ Studio.app/Contents/jre....

También he habilitado el corredor de compilación de demonios, pero no es necesario para que gradlew ejecute sus tareas. Si su error de puntero nulo es diferente, use--info para apuntar en la dirección correcta.

Estoy corriendo:

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

¡Espero que ayude a alguien!


cuando estoy ejecutando el comando ./gradlew tasks, entonces no tengo ningún problema, pero en el momento de la compilación me mencionan el problema.
Anuj

0
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'

No estoy seguro de que este sea el culpable, pero aquí tienes bastante problema con las versiones usadas. Intente utilizar versiones recientes o al menos la misma para todos los componentes relacionados.

Esta herramienta puede ayudarlo a mantenerse sincronizado en el futuro: https://github.com/ben-manes/gradle-versions-plugin


0

Tuve un problema similar al importar firebase a mi proyecto. En primer lugar, asegúrese de seguir los pasos del tutorial correctamente y de haber importado el archivo .json proporcionado en el directorio correcto.

Además, dado que firebase v9.0 se ha implementado en los servicios de Google Play, para que Firebase funcione correctamente, asegúrese de que los servicios de Google Play estén actualizados en el dispositivo que está probando.

También encontré que esta respuesta es útil para resolver mi problema https://stackoverflow.com/a/37310513/6728099


en realidad, incluso antes de importar firebase, todavía tiene el mismo error. Acabo de agregar la base de fuego para poder continuar con mi proyecto. De hecho, creé una aplicación ficticia para verificar si seguí correctamente el tutorial. También actualicé mi AS y el SDK, pero no resolvió el problema.
sweetzyl pili

0

Elimine las siguientes líneas de las dependencias, porque ya compila la dependencia completa de los servicios de juego

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

1
Reconstruye tu proyecto
Yogesh Rathi

Use firebase y play service 9.0, lo estoy usando y luego funciona perfectamente, así que puede verificar nuevamente con la versión 9.0
Yogesh Rathi

Reconstruí muchas veces. En lugar de resolver el problema, obtuvo más NullPointerException: null.
sweetzyl pili

¿Ha integrado la biblioteca de soporte multidex?
Yogesh Rathi

sí, lo hice de esta manera. defaultConfig {... multiDexEnabled true} buildTypes {release {minifyEnabled true proguardFiles getDefaultProguardFile ('proguard-android.txt'), 'proguard-rules.pro'}} ¿Es esto correcto? Y también ya verifiqué la versión 9.0 del servicio de juego y firebase todavía tiene el mismo error.
sweetzyl pili


0

Estaba obteniendo una NPE debido a la versión jdk, la degradación de 11 a 8 resolvió este problema

Para eliminar 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)

0

Para mí trabajó para borrar la memoria caché Gradle en el nivel de directorio de usuario: /Users/<username>/.gradle/cache. La --infoopción mostró una inconsistencia allí.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.