java.lang.NullPointerException(エラーメッセージなし)


81

私のこの質問は何度も聞かれ、ほとんどの答えに従いましたが、どれも助けにはなりませんでした。これが私の問題です。プロジェクトを同期するたびに失敗します。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-DATE TO-DATE:app:prepareComAndroidSupportSupportFragment2420Library UP-TO-DATE: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'

問題を解決する方法は?


3
私はちょうど今同じ問題を抱えていました。ビルド->プロジェクトのクリーンアップ、そして再実行は私のために働いた。
w3bshark 2016年

AndroidStudioが次のようなエラーを識別しない場合があります。1.error .. sintaxisは、2.resourcesは、コード内の3.changesが見つかりません...と他の人が...私の場合は、見つかっていない変更しました
marlonpya

@marlonpyaはここを見てください。問題はgradle.propertiesにある可能性が高いです。
chornge 2018

Android Studioを更新するたびに、このような奇妙なことが起こります。w3bsharkのクリーンビルドは私のために働いた。
デール

回答:


189

プロジェクトから.gradleフォルダーを削除し、再構築できました。

注意:万が一の場合に備えて、バックアップを作成してください。


どのgradleファイルを意味しますか?
sweetzyl pili 2016

6
プロジェクトのルートフォルダーには、「。gradle」フォルダーがあります。それを削除してAndroidStudioを再起動すると、ビルド中に再作成されます。
rastik 2016

あなたたちはこのような何かに直面しましたか?(stackoverflow.com/questions/39749380/…)。これは確かに私にはうまくいきませんでした:/ @rastik
Siddhant Rimal

プロジェクトフォルダの下に.gradleフォルダが見つかりません。gradleフォルダのみが見つかりますが、.gradleは見つかりません。MACを使用しています。any1これを解決しますか?
aznelite89 2016

5
.gradleを削除しても、他の解決策は機能しませんか?app-tmpフォルダーにこのcompileDebugJavaWithJavacフォルダーがあり、emptySourcePathRefという名前の空のフォルダーがあります...クリーニングプロジェクトはこのフォルダーを削除するので、これであると思いますが、それでもエラーが表示されます
Aalap Patel 2017

28

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

your_project_path/.gradle/2.14.1/taskArtifacts

再度生成されます。

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

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

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


注意点として、プロジェクトウィンドウだけでなく、すべてのプロジェクトウィンドウを閉じてAndroidStudioを再起動してください。
フルーツ

それは私のために働きます(ionic(Ionic CLI)のpb:3.19.0)タスク ':compileArmv7DebugJavaWithJavac'の実行に失敗しました。> java.lang.NullPointerException(エラーメッセージなし)
m50 2017年

3

上記のように、プロジェクトのパスの下にある.gradleフォルダーを削除した後でもこの問題が発生する場合は、タスクマネージャーで実行されているすべてのJavaプロセスを強制終了し、AndroidStudioを更新してみてください

私も同じ状況でしたが、今は問題なく動作します。

それが役に立てば幸い!


2

Javaバージョンが1.9の場合も同じ問題が発生します

jenv use java 1.8 

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


1

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

解決策:gradleを編集.bash_profileまたはダウングレードしたり、gradle.folderを削除したりする必要はありません)。

  • org.gradle.java.home=pathgradle.propertiesを追加します。ここpathで、はAndroid 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 

:パス内の「AndroidStudio」間のスペースは意図的なものであり、アンダースコアが使用されている場合は機能しません。エスケープ文字\は許可されていますが、必須ではありません。...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)

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


1
コマンド./gradlewタスクを実行しているときは問題は発生しませんが、ビルド時に問題が発生します。
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'

これが原因かどうかはわかりませんが、ここでは使用済みバージョンがかなり混乱しています。関連するすべてのコンポーネントに、最新バージョンまたは少なくとも同じバージョンを使用するようにしてください。

このツールは、将来的に同期を維持するのに役立つ可能性があります:https//github.com/ben-manes/gradle-versions-plugin


0

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

また、firebasev9.0以降はGooglePlay開発者サービスに実装されているため、Firebaseが正しく機能するためには、テストするデバイスでGooglePlay開発者サービスが最新であることを確認してください。

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


実際、firebaseをインポートする前でも、同じエラーが発生します。プロジェクトに進むことができるように、Firebaseを追加しました。実際、チュートリアルに正しく従っているかどうかを確認するために、ダミーのアプリを作成しました。ASとSDKも更新しましたが、問題は解決しませんでした。
sweetzyl pili 2016

0

すでに完全なPlay開発者サービスの依存関係をコンパイルしているため、依存関係から以下の行を削除してください

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

1
プロジェクトを再構築する
Yogesh Rathi 2016

Firebaseを使用してサービス9.0を再生します。使用しているので、完全に機能しているので、9.0バージョンでもう一度確認できます
Yogesh Rathi 2016

私は何度もリビルドをしました。問題を解決する代わりに、より多くのNullPointerException:nullを取得しました。
sweetzyl pili 2016

multidexサポートライブラリを統合しましたか
Yogesh Rathi 2016

はい、私はこのようにしました。defaultConfig {... multiDexEnabled true} buildTypes {release {minifyEnabled true proguardFiles getDefaultProguardFile( 'proguard-android.txt')、 'proguard-rules.pro'}}これは正しいですか?また、Playサービスの9.0バージョンをすでに確認していますが、firebaseでも同じエラーが発生します。
sweetzyl pili 2016


0

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

jdk11を削除するには

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

私にとっては、ユーザーディレクトリレベルでGradleキャッシュを削除することができました /Users/<username>/.gradle/cache--infoオプションが矛盾を示しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.