java.lang.NullPointerException (कोई त्रुटि संदेश नहीं)


81

मुझे पता है कि मेरा यह प्रश्न कई बार पूछा गया है और मैंने अधिकांश उत्तरों का पालन किया लेकिन उनमें से किसी ने भी मेरी मदद नहीं की। तो यह मेरी समस्या है, जब भी मैं अपने प्रोजेक्ट को सिंक करता हूं यह हमेशा विफल रहता है। यहां बताया गया है कि ग्रेडल कंसोल कैसा दिखता है:

कार्यकारी कार्य: [: ऐप: जेनडबगसॉर्सेस: ऐप: जेनडब्यूएंडएंड्रॉइडटेस्ट स्रोत: ऐप: मॉकएबलएंड्रॉइडजार,: ऐप: रेडीब्यूग यूनीटटेस्टडाइट्स]

मांग पर विन्यास एक ऊष्मायन सुविधा है। वृद्धिशील जावा संकलन एक ऊष्मायन सुविधा है। app: preBuild UP-TO-DATE: app: preDebugBuild UP-TO-DATE: app: checkDebugManifest: app: preReleaseBuild UP-TO-DATE: app: readyComAndroidSupportAnimatedVectorDrawable2420Library UP-TO-TO-TO-TO-TO-TO-TO-TO-TO-TO-TO-TO-TO-TO-TO-DATE। एप्लिकेशन: prepareComAndroidSupportDesign2420Library अप करने की तिथि: अनुप्रयोग: prepareComAndroidSupportMediarouterV72300Library अप करने की तिथि: अनुप्रयोग: prepareComAndroidSupportRecyclerviewV72420Library अप करने की तिथि: अनुप्रयोग: prepareComAndroidSupportSupportCompat2420Library अप करने की तिथि: अनुप्रयोग: prepareComAndroidSupportSupportCoreUi2420Library अप करने की तिथि: अनुप्रयोग: prepareComAndroidSupportSupportCoreUtils2420Library UP- TO-DATE: ऐप: तैयार.कॉमएंड्रॉइडसुपोर्टस्पोर्टफोर्टग्रैन्ग 2420Library UP-TO-DATE: ऐप:

  • क्या गलत हुआ: 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

कुछ बार एंड्रॉइड स्टूडियो की तरह त्रुटियों को इंडेंटिफाई नहीं किया जाता है। 1. प्रथम सिंटैक्सिस, 2. स्रोत नहीं मिले, 3. कोड में परिवर्तन .. और अन्य .. मेरा मामला नहीं
बदला है

@marlonpya यहाँ एक नज़र रखना , इस मुद्दे को gradle.properties के साथ सबसे अधिक संभावना है।
1:23 बजे

हर बार जब मैं एंड्रॉइड स्टूडियो को अपडेट करता हूं, तो अजीब सामान ऐसा होता है। w3bshark के स्वच्छ निर्माण ने मेरे लिए काम किया।
डेल

जवाबों:


189

मैंने प्रोजेक्ट से .gradle फ़ोल्डर हटा दिया है और इसे फिर से बनाने में सक्षम था।

NB: केवल मामले में, एक बैकअप बनाएं।


कौन सी ग्रेडल फाइल का मतलब यू है?
स्वीटज़ाइल पिली

6
आपके प्रोजेक्ट के रूट फ़ोल्डर में, ".gradle" फ़ोल्डर है। इसे हटाएं और एंड्रॉइड स्टूडियो को पुनरारंभ करें, इसे बिल्ड के दौरान फिर से बनाया जाएगा।
रस्तिक

क्या आप लोगों को भी कुछ इसी तरह का सामना करना पड़ा? ( stackoverflow.com/questions/39749380/… )। यह निश्चित रूप से मेरे लिए काम नहीं किया: / @rastik
सिद्धान्त

मुझे अपने प्रोजेक्ट फ़ोल्डर के अंतर्गत कोई भी .gradle फ़ोल्डर नहीं मिल सकता है, केवल gradle फ़ोल्डर है, लेकिन .gradle नहीं, मैं MAC का उपयोग कर रहा हूँ, कोई भी 1 इसे हल करे?
aznelite89

5
हटाने .ग्रेड किसी भी अन्य समाधान काम नहीं कर रहा है? मैं ऐप-tmp फ़ोल्डर में इस compileDebugJavaWithJavac फ़ोल्डर को देखता हूं और इसमें खाली फ़ोल्डर है, जिसका नामकरण हैSourcePathRef ... सफाई परियोजना इस फ़ोल्डर को हटा देती है, इसलिए मुझे लगता है कि यह है लेकिन फिर भी त्रुटि दिखाई देती है
Aalapad

28

यह समस्या तब पैदा हुई जब अचानक सिस्टम फिर से शुरू हुआ, फिर ग्रेड फ़ाइल भ्रष्ट हो गई। और उस दूषित फ़ाइल को कैश किया गया है, इसलिए हमें इस फ़ाइल को आपके प्रोजेक्ट से हटाने की आवश्यकता है

your_project_path/.gradle/2.14.1/taskArtifacts

इसे फिर से जेनरेट किया जाएगा।

फिर एंड्रॉइड स्टूडियो को पुनरारंभ करें और प्रोजेक्ट को फिर से संकलित करें।

स्रोत: https://code.google.com/p/android/issues/detail?id=220741#c13

यह मेरे लिए काम किया है।


बस एक नोट, सुनिश्चित करें कि आप केवल एंड्रॉइड स्टूडियो को पुनरारंभ करने के लिए सभी प्रोजेक्ट विंडो बंद करें, न कि केवल प्रोजेक्ट विंडो।
फल

यह मेरे लिए काम करता है (आयनिक (आयनिक सीएलआई) के साथ pb: 3.19.0) कार्य के लिए निष्पादन विफल रहा ': compileArmv7DebugJavaWithJavac'। > java.lang.NullPointerException (कोई त्रुटि संदेश नहीं)
m50

3

यदि आपको अभी भी यह समस्या हो रही है, तो अपनी परियोजना के पथ के तहत .gradle फ़ोल्डर को हटाने के बाद भी, जैसा कि ऊपर बताया गया है , कार्य प्रबंधक पर चलने वाली सभी जावा प्रक्रियाओं को मारें और अपने Android स्टूडियो को अपडेट करने का प्रयास करें ।

मैं उसी स्थिति में था लेकिन अब यह ठीक काम करता है।

आशा है कि इससे सहायता मिलेगी!


2

मुझे एक ही समस्या है जब जावा संस्करण 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]

समाधान: (संपादित करें .bash_profileया ग्रेडिंग को हटाने या gradle.folder को हटाने की आवश्यकता नहीं है )।

  • org.gradle.java.home=pathGradle.properties में जोड़ें । pathएंड्रॉइड स्टूडियो जावा पथ कहां है ( --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.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
जब मैं runnign कमांड ./gradlew कार्य करता हूं तो मुझे कोई समस्या नहीं मिल रही है, लेकिन बिल्ड समय पर मुझे उल्लेखित मुद्दा मिल रहा है।
अनुज

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

मेरे प्रोजेक्ट में फायरबेस आयात करते समय मुझे इसी तरह की समस्या थी। सबसे पहले यह सुनिश्चित करें कि आपने ट्यूटोरियल स्टेप्स का सही तरीके से पालन किया है और प्रदान की गई .json फाइल को सही डायरेक्टरी में इंपोर्ट किया है।

इसके अलावा, चूंकि फायरबेस v9.0 को गूगल प्ले सेवाओं में लागू किया गया है, इसलिए फायरबेस को ठीक से काम करने के लिए, सुनिश्चित करें कि Google प्ले सेवाएं उस डिवाइस पर अद्यतित हैं, जिसका आप परीक्षण कर रहे हैं,

मैंने अपने उत्तर https://stackoverflow.com/a/37310513/6728099 को हल करते हुए मददगार पाया है


वास्तव में इससे पहले कि मैं फायरबेस आयात करता, अभी भी वही त्रुटि है। मैंने सिर्फ फायरबेस को जोड़ा ताकि मैं अपने प्रोजेक्ट पर आगे बढ़ सकूं। यदि मैं सही तरीके से ट्यूटोरियल का अनुसरण करता हूं तो जांच करने के लिए मैंने एक डमी ऐप बनाया। मैंने अपने AS और SDK को भी अपडेट किया, फिर भी यह समस्या हल नहीं हुई।
स्वीटज़ाइल पिली

0

निर्भरता से नीचे की पंक्तियों को हटा दें, क्योंकि पहले से ही आप पूरी खेल सेवाओं की निर्भरता को संकलित करते हैं

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

1
अपनी परियोजना का पुनर्निर्माण करें
योगेश राठी

Firebase और play service 9.0 का उपयोग करें, मैं तब पूरी तरह से काम कर रहा हूँ ताकि आप 9.0 संस्करण के साथ फिर से जाँच कर सकें
योगेश राठी

मैंने कई बार पुनर्निर्माण किया। समस्या को हल करने के बजाय इसे अधिक NullPointerException: null मिला।
स्वीटज़ाइल पिली

क्या आपने मल्टीडेक्स समर्थन पुस्तकालय
योगेश राठी

हां मैंने इसे इस तरह से किया है। defaultConfig {... multDexEnabled true} buildTypes {release {minifyEnabled true proguardFiles getDefaultProguardFile ('proguard-android.txt'), 'proguard-rules .pro'}} क्या यह सही है? और मैं पहले से ही प्ले सर्विस के 9.0 संस्करण की जांच कर रहा हूं और फायरबेस को अभी भी वही त्रुटि मिली है।
स्वीटज़ाइल पिली


0

मुझे jpk संस्करण के कारण NPE मिल रहा था, 11 से 8 तक डाउनग्रेड करने से यह समस्या हल हो गई

Jdk 11 को हटाने के लिए

सुडो rm -rf /Library/Java/JavaVirtualMachines/jdk-11.0.2.jkk

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

मेरे लिए यह उपयोगकर्ता निर्देशिका स्तर पर ग्रेड कैश को हटाने के लिए काम करता है /Users/<username>/.gradle/cache:। --infoविकल्प वहाँ कोई विसंगति दिखाया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.