java.lang.NullPointerException (오류 메시지 없음) app : prepareDebugUnitTestDependencies]

나는이 질문이 여러 번 요청되었으며 대부분의 답변을 따랐지만 그 중 어느 것도 나를 도왔습니다. 그래서 이것이 내 문제입니다. 프로젝트를 동기화 할 때마다 항상 실패합니다. 다음은 Gradle 콘솔의 모습입니다.

작업 실행 : [: app : generateDebugSources, : app : generateDebugAndroidTestSources, : app : mockableAndroidJar, : app : prepareDebugUnitTestDependencies]

주문형 구성은 인큐베이팅 기능입니다. 증분 자바 컴파일은 인큐베이팅 기능입니다. : app : preBuild UP-TO-DATE : app : preDebugBuild UP-TO-DATE : app : checkDebugManifest : app : preReleaseBuild UP-TO-DATE : app : prepareComAndroidSupportAnimatedVectorDrawable2420Library UP-TO-DATE : app : prepareComAndroidSupportAppcompatV72420Library UP-TO-DATE : app : prepareComAndroidSupportDesign2420Library UP-TO-DATE : app : prepareComAndroidSupportMediarouterV72300Library UP-TO-DATE : app : prepareComAndroidSupportRecyclerviewV72420Library UP-TO-DATE : app : prepareComAndroidSupportSupportCompat2420Library UP-TO-DATE UP-TOLibraryUiSupport-Library2420SupportreCom : TO-DATE : app : prepareComAndroidSupportSupportFragment2420Library 최신 날짜 : app :

  • 문제 : 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'

문제를 해결하는 방법?



답변

프로젝트에서 .gradle 폴더를 삭제 하고 다시 빌드 할 수있었습니다.

주의 : 만일을 대비하여 백업을 만드십시오.


답변

이 문제는 갑자기 시스템이 다시 시작된 다음 gradle 파일이 손상되었을 때 생성되었습니다. 손상된 파일이 캐시되었으므로 프로젝트에서이 파일을 삭제해야합니다.

your_project_path/.gradle/2.14.1/taskArtifacts

다시 재생성됩니다.

그런 다음 Android 스튜디오를 다시 시작하고 프로젝트를 다시 컴파일하십시오.

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

그것은 나를 위해 일했습니다.


답변

여전히이 문제가 발생하는 경우에도 프로젝트의 경로에 .gradle 폴더를 삭제 한 후, 제안 , 모든 Java 실행되는 프로세스 죽이는 작업 관리자와 시도 안드로이드 스튜디오를 업데이트 .

나는 같은 상황에 있었지만 이제는 잘 작동합니다.

도움이 되었기를 바랍니다.


답변

Java 버전이 1.9 일 때 동일한 문제가 있습니다.

jenv use java 1.8

모든 문제가 해결되었습니다.


답변

문제는 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_profilegradle 을 편집 하거나 다운 그레이드하거나 gradle.folder를 삭제할 필요가 없습니다 ).

  • org.gradle.java.home=pathgradle.properties에 추가하십시오 . pathAndroid Studio Java 경로는 어디에 있습니까 ( --info로그에 명시된 실제 Java 홈 ). 나를 위해 그것은 /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'
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


답변

내 프로젝트로 firebase를 가져올 때 비슷한 문제가 발생했습니다. 먼저 튜토리얼 단계를 올바르게 수행하고 제공된 .json 파일을 올바른 디렉토리로 가져 왔는지 확인하십시오.

또한 firebase v9.0부터 Google Play 서비스에 구현되었으므로 firebase가 제대로 작동하려면 테스트중인 기기에서 Google Play 서비스가 최신 상태인지 확인하세요.

이 답변이 내 문제를 해결하는 데 도움이된다는 것을 발견했습니다
https://stackoverflow.com/a/37310513/6728099