web-dev-qa-db-ja.com

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: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:app:prepareComAndroidSupportSupportCoreUi2420Library UP-TO-Library TO-DATE:app:prepareComAndroidSupportSupportFragment2420Library UP-TO-DATE:app:prepareComAndroidSupportSupportMediaCompat2420Library UP-TO-DATE:app:prepareComAndroidSupportSupportV42420Library UP-TO-DATE:app:prepareComAndroidSupportSupportVectorDrawable2420Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServices940Library UP-TO-DATE :prepareComGoogleAndroidG msPlayServicesAds940Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesAdsLite940Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesAnalytics940Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl940ComGoogleAppPlayToAppService:App:prepareComGoogleToP DATE:app:prepareComGoogleAndroidGmsPlayServicesAuth940Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesAuthBase940Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesBase940Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesBasementComMSGooglePlayAppsGearServiceCTO940940GsPlayPlayComsComtoCastCrysGearCastCryptGearCryptS最新:app:prepareComGoogleAndroidGmsPlayServicesClearcut940Library最新:app:prepareComGoogleAndroidGmsPlayServicesContextmanager940Library最新:app :prepareComGoogleAndroidGmsPlayServicesDrive940Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesFitness940Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesGames940Library UP-TO-DATE:app:prepareComGoogleAndroidGmsPlayServicesGass940LibraryGoogleGooglePlayPlayAppGearPlayGearPlaysGearPlayGitGearPlayGitPlayGitGearPlaysGitGearPlays例外で失敗しました。

  • 何が悪かったのか: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'

問題を解決するには?

68
sweetzyl pili

プロジェクトから。gradleフォルダーを削除し、再び再構築することができました。

N.B:念のためバックアップを作成します。

177
rastik

この問題は、突然システムが再起動し、その後gradleファイルが破損したときに発生しました。キャッシュが破損しているため、プロジェクトからこのファイルを削除する必要があります

your_project_path/.gradle/2.14.1/taskArtifacts

再び再生成されます。

次に、Androidスタジオを再起動して、プロジェクトを再コンパイルします。

ソース: https://code.google.com/p/Android/issues/detail?id=220741#c1

それは私のために働いています。

28
Kona Suresh

プロジェクトのパスの下にある.gradleフォルダーを削除した後でも、提案されているように 上記kill all Javaプロセスを実行しても、この問題が引き続き発生する場合タスクマネージャーでを更新して、Android St​​udioを更新します。

私は同じ状況にありましたが、今ではうまく動作しています。

助けてください!

3
Geraldo Neto

問題はおそらく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)。

  • Gradle.propertiesにorg.gradle.Java.home=pathを追加します。ここで、pathはAndroid St​​udio Javaパスです(実際の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がタスクを実行するために必要ではありません。 nullポインターエラーが異なる場合は、--infoを使用して正しい方向に向けてください。

私は走っています:

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

それが誰かを助けることを願っています!

1
chornge

既に完全なプレイサービスの依存関係をコンパイルしているため、依存関係から以下の行を削除します

    compile 'com.google.Android.gms:play-services-location:9.4.0'
    compile 'com.google.Android.gms:play-services-appindexing:9.4.0'
0
Yogesh Rathi

app/build.gradleを確認してください。私の問題は、依存関係の'でした。

0
Pablo Cegarra
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

0
Marcin Orlowski

Firebaseをプロジェクトにインポートするときに、同様の問題が発生しました。まず、チュートリアルの手順を正しく実行し、提供された.jsonファイルを正しいディレクトリにインポートしたことを確認してください。

また、firebase v9.0以降はgoogle playサービスに実装されているため、firebaseが正しく機能するように、テストするデバイスでGoogle playサービスが最新であることを確認してください。

私の問題を解決する際にこの回答が役立つこともわかりました https://stackoverflow.com/a/37310513/6728099

0
sketch204

Javaバージョンが1.9のときに同じ問題が発生します

jenv use Java 1.8 

すべての問題が解決されました。

0
zhen She

JdkバージョンのためにNPEを取得していましたが、11から8にダウングレードするとこの問題が解決しました

Jdk 11を削除するには

Sudo rm -rf /ライブラリ/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
AntPachon