दुर्भाग्य से MyApp बंद हो गया है। इसे कैसे हल किया जा सकता है?
मैं एक एप्लिकेशन विकसित कर रहा हूं, और हर बार मैं इसे चलाता हूं, मुझे संदेश मिलता है:
दुर्भाग्य से, MyApp बंद हो गया है।
इसे हल करने के लिए मैं क्या कर सकता हूं?
इस प्रश्न के बारे में - स्पष्ट रूप से प्रेरित है कि स्टैक ट्रेस क्या है, और मैं इसका उपयोग अपनी एप्लिकेशन त्रुटियों को डीबग करने के लिए कैसे कर सकता हूं? , बहुत सारे प्रश्न हैं जो बताते हैं कि उनका आवेदन दुर्घटनाग्रस्त हो गया है, बिना किसी और विवरण के। इस प्रश्न का उद्देश्य नौसिखियों के एंड्रॉइड प्रोग्रामर को निर्देश देना है कि वे अपनी समस्याओं को स्वयं कैसे ठीक करें, या सही प्रश्न पूछें।
जवाब
यह उत्तर स्टैक ट्रेस पुनर्प्राप्त करने की प्रक्रिया का वर्णन करता है। पहले से ही स्टैक ट्रेस है? स्टैक के निशान पर पढ़ें " स्टैक ट्रेस क्या है, और मैं इसका उपयोग अपनी एप्लिकेशन त्रुटियों को डीबग करने के लिए कैसे कर सकता हूं? "
समस्या
आपका आवेदन छोड़ दिया गया क्योंकि एक अनकहा RuntimeException
फेंक दिया गया था।
इनमें से सबसे आम है NullPointerException
।
इसे कैसे हल करें?
हर बार एक Android एप्लिकेशन क्रैश (या उस मामले के लिए कोई जावा अनुप्रयोग), Stack trace
कंसोल को लिखा जाता है (इस मामले में, logcat)। इस स्टैक ट्रेस में आपकी समस्या को हल करने के लिए महत्वपूर्ण जानकारी है।
Android स्टूडियो
विंडो के निचले बार में, Logcat
बटन पर क्लिक करें। वैकल्पिक रूप से, आप alt+ दबा सकते हैं 6। सुनिश्चित करें कि आपका एमुलेटर या डिवाइस Devices
पैनल में चुना गया है । अगला, स्टैक ट्रेस को खोजने का प्रयास करें, जिसे लाल रंग में दिखाया गया है। लॉगकैट में बहुत अधिक सामान लॉग इन हो सकता है, इसलिए आपको थोड़ा स्क्रॉल करने की आवश्यकता हो सकती है। स्टैक ट्रेस को ढूंढने का एक आसान तरीका है लॉगकट को साफ़ करना (दाईं ओर रीसायकल बिन का उपयोग करना), और ऐप को फिर से दुर्घटनाग्रस्त होने देना।
मुझे स्टैक ट्रेस मिला है, अब क्या?
वाह! आप अपनी समस्या को हल करने के लिए आधे रास्ते पर हैं।
आपको केवल यह पता लगाने की आवश्यकता है कि स्टैक ट्रेस का विश्लेषण करके आपके एप्लिकेशन को वास्तव में क्या बनाया गया है।
स्टैक के निशान पर पढ़ें " स्टैक ट्रेस क्या है, और मैं इसका उपयोग अपनी एप्लिकेशन त्रुटियों को डीबग करने के लिए कैसे कर सकता हूं? "
मैं अभी भी अपनी समस्या को हल नहीं कर सकता!
यदि आपको अपनी Exception
और वह रेखा मिल गई है जहां यह हुआ है, और अभी भी यह पता नहीं लगा सकता है कि इसे कैसे ठीक किया जाए, तो स्टैकवर्वरफ़्लो पर एक प्रश्न पूछने में संकोच न करें।
जितना संभव हो सके संक्षिप्त करने का प्रयास करें: स्टैक ट्रेस और संबंधित कोड (उदाहरण के लिए कुछ पंक्तियाँ जो फेंक दी गई हैं Exception
) को पोस्ट करें।
समस्या का विश्लेषण करने के लिए आप Google के ADB टूल का उपयोग कर सकते हैं Logcat file
।
adb logcat > logcat.txt
logcat.txt
फ़ाइल खोलें और अपने आवेदन नाम के लिए खोजें। इसमें क्यों फेल हुआ, लाइन नंबर, क्लास का नाम आदि की जानकारी होनी चाहिए।
सबसे पहले, आप जांचें कि आपका ऐप किस बिंदु पर क्रैश हुआ है ( Unfortunately, MyApp has stopped.
)। इसके लिए, आप उपयोग कर सकते हैं Log.e("TAG", "Message");
, इस लाइन का उपयोग करके आप लॉगकैट में अपना ऐप लॉग देख सकते हैं।
उसके बाद, आप पाते हैं कि आपके एप्लिकेशन को किस बिंदु पर रोका गया है, यह आपके पक्ष में हल करना बहुत आसान है।
बस लॉग कैट में त्रुटि की जाँच करें।
आपको ग्रहण में लॉग कैट विकल्प मिलता है:
विंडो-> शो व्यू-> अन्य-> एंड्रॉइड-> लॉगकट
लॉग कैट में त्रुटि है।
अन्य बुद्धिमान आप डिबग मोड में किसी एप्लिकेशन को निष्पादित करके त्रुटि की जांच कर सकते हैं। उसके बाद सबसे पहले ब्रेकपॉइंट सेट करें:
दाईं ओर प्रोजेक्ट पर क्लिक करें-> डिबग as-> Android एप्लिकेशन
नोट: यह उत्तर एंड्रॉइड स्टूडियो 2.2.2 का उपयोग कर रहा है
नोट 2: मैं विचार कर रहा हूं कि आपका उपकरण सफलतापूर्वक जुड़ा हुआ है।
जब आपका एप्लिकेशन क्रैश हो जाता है, तो सबसे पहली बात आप LogCat में देखते हैं, एंड्रॉइड स्टूडियो के नीचे एक टूलबार है, जिसमें लॉग इन की सूची है:
"एंड्रॉइड मॉनिटर" पर क्लिक करें (ऊपर मैंने जो चित्र में रेखांकित किया है। ^)
अब, आपको कुछ इस तरह मिलेगा:
"" Verbose
"को बदलें" Error
अब यह केवल आपको लॉग की गई त्रुटियों को दिखाएगा। इन सभी त्रुटियों के बारे में चिंता न करें (यदि आप उन्हें मिल गए हैं)।
ठीक। अब, आपने अपने ऐप को क्रैश करने के लिए क्या किया। आपका ऐप क्रैश होने के बाद, अपने लॉगकैट पर जाएं। आपको एक नया क्रैश लॉग ढूंढना चाहिए जिसमें बहुत कुछ है at:x.x.x
: और Caused by: TrumpIsPresidentException
उदाहरण के लिए। Caused by:
अपने logcat में उस स्टेटमेंट पर जाएं ।
के बगल में है कि Caused By:
, वहाँ अपवाद कि क्या हुआ होना चाहिए। मेरे मामले में, यह एक है RuntimeException
और इसके तहत एक पंक्ति होनी चाहिए जिसमें एक नीली कड़ी शामिल है जैसे:
अगर उसCaused by:
DOESN'T के नीचे कहीं एक नीले रंग की टेक्स्ट के साथ एक पंक्ति है, तो दूसरे के लिए देखो Caused by:
जो करता है।
उस नीले लिंक पर क्लिक करें । यह आपको उस स्थान पर ले जाना चाहिए जहाँ समस्या हुई थी। मेरे मामले में, यह इस लाइन के कारण था:
throw new RuntimeException();
तो, अब मुझे पता है कि यह दुर्घटनाग्रस्त क्यों है। यह इसलिए है क्योंकि मैं खुद अपवाद को फेंक रहा हूं। यह एक स्पष्ट त्रुटि थी ।
हालाँकि, मान लीजिए कि मुझे एक और त्रुटि मिली:
java.lang.NullPointerException
मैंने अपना लॉगिन चेक किया, मैंने उस नीले लिंक पर क्लिक किया जो उसने मुझे दिया था, और यह मुझे यहाँ ले गया:
mTextView.setText(myString);
इसलिए, अब मैं डिबग करना चाहता हूं। इस StackOverflow प्रश्न के अनुसार , एक NullPointerException कहता है कि कुछ है null
।
तो, आइए जानें कि क्या अशक्त है । दो संभावनाएं हैं। या तो mTextView
अशक्त है, या myString
अशक्त है। यह जानने के लिए कि mTextView.setText(mString)
लाइन से पहले , मैं इन दो लाइनों को जोड़ता हूं:
Log.d("AppDebug","mTextView is null: " + String.valueOf(mTextView == null);
Log.d("AppDebug","myString is null: " + String.valueOf(myString== null);
अब, जैसे हमने पहले किया था (हमने Verose को Error में बदल दिया है), हम "Error" को "Debug" में बदलना चाहते हैं। चूंकि हम डिबगिंग द्वारा लॉगिंग कर रहे हैं। यहाँ सभी लॉग तरीके हैं:
Log.
d means Debug
e means error
w means warning
v means verbose
i means information
wtf means "What a terrible failure". This is similar to Log.e
इसलिए, जब से हमने उपयोग किया Log.d
, हम डिबग में जाँच कर रहे हैं। इसलिए हमने इसे डिबग में बदल दिया।
नोटिस Log.d
का पहला पैरामीटर है, हमारे मामले में "AppDebug"। लॉगकैट के शीर्ष-दाईं ओर स्थित "नो फिल्टर्स" ड्रॉप डाउन मेनू पर क्लिक करें। "फ़िल्टर कॉन्फ़िगरेशन संपादित करें" चुनें, अपने फ़िल्टर को एक नाम दें, और "लॉग टैग" में "ऐप डीबग" डालें। ओके पर क्लिक करें"। अब, आपको logcat में दो लाइनें देखनी चाहिए:
yourPackageNameAndApp: mTextView is null: true
yourPackageNameAndApp: myString is null: false
तो अब हम जानते हैं कि mTextView शून्य है।
मैं अपने कोड का निरीक्षण करता हूं, अब मैं कुछ नोटिस करता हूं।
मैंने private TextView mTextView
अपनी कक्षा में सबसे ऊपर घोषित किया है। लेकिन, मैं इसे परिभाषित नहीं कर रहा हूं।
मूल रूप से मैं अपने onCreate में यह करना भूल गया ():
mTextView = (TextView) findViewById(R.id.textview_id_in_xml);
इसलिए mTextView
, यह अशक्त क्यों है, क्योंकि मैं अपना ऐप बताना भूल गया हूं कि यह क्या है। इसलिए मैं उस लाइन को जोड़ता हूं, अपना ऐप चलाता हूं, और अब ऐप क्रैश नहीं होता है।
यह पॉपअप तभी दिखाई देता है जब आपको अपने कोड में एक घातक अपवाद मिलता है जो ऐप के निष्पादन को रोक देता है। यह कोई अपवाद हो सकता है NullPointerException
, OutOfMemoryException
आदि।
लॉगकैट के माध्यम से जांच करने का सबसे अच्छा तरीका है अगर आप अभी भी एंड्रॉइड स्टूडियो में ऐप विकसित कर रहे हैं जो स्टैक ट्रेस पढ़ने और ऐप के कारण की जांच करने का त्वरित तरीका है।
यदि आपका ऐप पहले से लाइव है, तो आप लॉगकैट का उपयोग नहीं कर सकते । तो, इसके लिए आप Crashlytics
किसी भी अपवाद की बग रिपोर्ट प्रदान करने के लिए कार्यान्वित कर सकते हैं ।
अपना Logcat
संदेश जांचें और अपनी Manifest
फ़ाइल देखें । Activity,
उपयोगकर्ता की अनुमति को परिभाषित करने जैसे कुछ गायब होना चाहिए , आदि।
आप इनमें से किसी भी उपकरण का उपयोग कर सकते हैं:
adb logcat
adb logcat> log.txt (आप त्रुटियों को खोलने और खोजने के लिए संपादकों का उपयोग कर सकते हैं।)
ग्रहण लॉगकैट (यदि ग्रहण में दिखाई न दे, तो Windows-> दृश्य देखें-> अन्य-> Android-> लॉग-इन देखें)
Android डिबग मॉनिटर या Android डिवाइस मॉनिटर (प्रकार कमांड मॉनिटर या UI के माध्यम से खोलें)
- Android स्टूडियो
मैं Android डिबग मॉनिटर का उपयोग करने का सुझाव देता हूं , यह अच्छा है। क्योंकि ग्रहण बहुत अधिक लॉग होने पर लटका रहता है, और adb logcat फ़िल्टर और सभी मुश्किलों के माध्यम से।
आपको जाँच करनी है Stack trace
उसको कैसे करे?
आपकी IDE पर, Windows फ़ॉर्म LOGCAT की जाँच करें
यदि आप नहीं देख सकते हैं कि logcat विंडो इस पथ पर जाती है और इसे खोलती है
window->show view->others->Android->Logcat
यदि आप Google-Api का उपयोग कर रहे हैं तो इस रास्ते पर जाएँ
adb logcat> logcat.txt
नीचे showToast () विधि में आपको संदर्भ या अनुप्रयोग संदर्भ के लिए एक और पैरामीटर पास करना होगा ऐसा करके आप इसे आज़मा सकते हैं।
public void showToast(String error, Context applicationContext){
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.custom_toast, (ViewGroup)
findViewById(R.id.toast_root));
TextView text = (TextView) findViewById(R.id.toast_error);
text.setText(error);
Toast toast = new Toast(applicationContext);
toast.setGravity(Gravity.TOP | Gravity.FILL_HORIZONTAL, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(view);
toast.show();
}
जब आप किसी फ़ोर्स क्लोज़ से मिलते हैं (जब ऐप काम करना बंद कर देता है) मुझे एक बेसिक लॉगकट विश्लेषण साझा करें।
डॉक्स
लॉग को इकट्ठा / विश्लेषण करने के लिए एंड्रॉइड से मूल उपकरण लॉगकैट है।
HERE , logcat के बारे में Android का पेज है
यदि आप Android Studio का उपयोग करते हैं, तो आप इस LINK को भी देख सकते हैं ।
वश में कर लेना
मूल रूप से, आप निम्न कमांड के साथ लॉगकिट को मैन्युअल रूप से कैप्चर कर सकते हैं (या AndroidStudio में AndroidMonitor विंडो की जांच कर सकते हैं):
adb logcat
ऐसे बहुत सारे पैरामीटर हैं जिन्हें आप कमांड में जोड़ सकते हैं जो आपको इच्छित संदेश को फ़िल्टर करने और प्रदर्शित करने में मदद करता है ... यह व्यक्तिगत है ... मैं हमेशा संदेश टाइमस्टैम्प प्राप्त करने के लिए नीचे दिए गए कमांड का उपयोग करता हूं:
adb logcat -v time
आप आउटपुट को किसी फ़ाइल में रीडायरेक्ट कर सकते हैं और टेक्स्ट एडिटर में उसका विश्लेषण कर सकते हैं।
का विश्लेषण
यदि आप ऐप क्रैश कर रहे हैं, तो आपको कुछ मिलेगा:
07-09 08:29:13.474 21144-21144/com.example.khan.abc D/AndroidRuntime: Shutting down VM
07-09 08:29:13.475 21144-21144/com.example.khan.abc E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.khan.abc, PID: 21144
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.FragmentActivity.onBackPressed()' on a null object reference
at com.example.khan.abc.AudioFragment$1.onClick(AudioFragment.java:125)
at android.view.View.performClick(View.java:4848)
at android.view.View$PerformClick.run(View.java:20262)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5631)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
07-09 08:29:15.195 21144-21144/com.example.khan.abc I/Process: Sending signal. PID: 21144 SIG: 9
लॉग का यह हिस्सा आपको बहुत सारी जानकारी दिखाता है:
- जब समस्या हुई:
07-09 08:29:13.475
जब समस्या हुई तब जाँच करना महत्वपूर्ण है ... आपको लॉग में कई त्रुटियां मिल सकती हैं ... आपको यह सुनिश्चित करना चाहिए कि आप उचित संदेशों की जाँच कर रहे हैं :)
- कौन सा ऐप क्रैश हुआ:
com.example.khan.abc
इस तरह, आप जानते हैं कि कौन सा ऐप क्रैश हो गया (यह सुनिश्चित करने के लिए कि आप अपने संदेश के बारे में लॉग की जाँच कर रहे हैं)
- कौन सा त्रुटि:
java.lang.NullPointerException
एक पूर्ण सूचक अपवाद त्रुटि
- त्रुटि के बारे में विस्तृत जानकारी:
Attempt to invoke virtual method 'void android.support.v4.app.FragmentActivity.onBackPressed()' on a null object reference
आपने onBackPressed()
किसी FragmentActivity
ऑब्जेक्ट से कॉल करने का प्रयास किया है । हालाँकि, वह वस्तु null
तब थी जब आपने ऐसा किया था।
स्टैक ट्रेस: स्टैक ट्रेस आपको विधि मंगलाचरण दिखाता है ... कभी-कभी, त्रुटि कॉलिंग विधि में होती है (और तथाकथित विधि में नहीं)।
com.example.khan.abc.AudioFragment $ 1.on पर क्लिक करें (AudioFragment.java:125)
त्रुटि फ़ाइल में com.example.khan.abc.AudioFragment.java
, onClick()
लाइन में विधि के अंदर हुई : 125
(स्टैकट्रेस उस रेखा को दिखाता है जो त्रुटि हुई)
इसके द्वारा बुलाया गया था:
at android.view.View.performClick(View.java:4848)
किसके द्वारा बुलाया गया था:
at android.view.View$PerformClick.run(View.java:20262)
जिसके द्वारा बुलाया गया था:
at android.os.Handler.handleCallback(Handler.java:815)
आदि....
अवलोकन
यह केवल एक अवलोकन था ... सभी लॉग सरल नहीं हैं, लेकिन त्रुटि विशिष्ट समस्या देती है और क्रिया सभी समस्या को दिखाती है ... यह सिर्फ विचार साझा करना है और आपको प्रवेश-स्तर की जानकारी प्रदान करना है ...
मुझे उम्मीद है कि मैं किसी और की मदद कर सकता हूं ... सादर
LogCat का उपयोग करें और ऐप को क्रैश करने का कारण जानने की कोशिश करें।
Logcat को देखने के लिए यदि आप Android Studio का उपयोग करते हैं तो ALT + 6 दबाएँ या
यदि आप ग्रहण का उपयोग करते हैं तो विंडो -> ओपन पर्सपेक्टिव -> अन्य - लॉगकट
लॉगकैट पर जाएं, ड्रॉप डाउन मेनू से त्रुटि चुनें। इसमें आपको डीबग करने में मदद करने के लिए सभी आवश्यक जानकारी होगी। यदि वह मदद नहीं करता है, तो LogCat को अपने प्रश्न को संपादित के रूप में पोस्ट करें और कोई व्यक्ति आपकी सहायता करेगा।
यदि किसी कारणवश आपका ऐप बिना अच्छे स्टैकट्रेस के क्रैश हो जाता है। पहली पंक्ति से इसे डीबग करने का प्रयास करें, और क्रैश होने तक लाइन से लाइन पर जाएं। तब आपके पास जवाब होगा, कौन सी रेखा आपको परेशान कर रही है। फिर आप इसे फिर से पकड़ ब्लॉक और प्रिंट त्रुटि आउटपुट में आज़मा सकते हैं।
आप स्टैक ट्रेस या किसी भी अन्य त्रुटि संदेश के बिना, अपने आप यह त्रुटि संदेश प्राप्त कर सकते हैं।
इस मामले में आपको यह सुनिश्चित करने की आवश्यकता है कि आपका एंड्रॉइड मैनिफ़िक सही तरीके से कॉन्फ़िगर किया गया है (किसी लाइब्रेरी से होने वाली किसी भी मैनिफ़ेस्ट मर्जिंग और लाइब्रेरी से आने वाली कोई गतिविधि), और अपने मैनिफ़ेस्ट फ़ाइलों में आपके एप्लिकेशन में प्रदर्शित पहली गतिविधि पर विशेष ध्यान दें ।
विकास के दौरान क्रैश
लॉग प्राप्त करने और विकास के दौरान उनका विश्लेषण करने के लिए मेरे पसंदीदा टूल लॉगव्यू का प्रयास करें । लिनक्स में चलने के दौरान और निष्पादन योग्य के रूप में
चिह्नित करना सुनिश्चित करें ।./logview
./lib/logview.jar
यदि आपको यह पसंद नहीं है, तो एंड्रॉइड के लिए बहुत सारे वैकल्पिक डेस्कटॉप लॉग दर्शक हैं ।
जंगली में क्रैश
उपयोगकर्ताओं के उपकरणों पर होने वाले बिना किसी अपवाद के स्टैकट्रैक प्राप्त करने के लिए एक वास्तविक समय क्रैश रिपोर्टिंग टूल जैसे कि फायरबेस क्रैशलाईटिक्स को एकीकृत करें ।
फ़ील्ड में बग से निपटने के बारे में अधिक जानने के लिए एक छोटी गाड़ी ऐप (और लाइव टू टेल टेल) कैसे पढ़ें ।
लोग गलती करते हैं, और इसलिए कोडिंग भी करते हैं।
जब कभी भी error
ऐसा हुआ है, तो हमेशा लाल रंग में पाठ के साथ logcat की जांच करें लेकिन यू उन लाल रंग पाठ में रेखांकित के साथ नीले रंग के पाठ में वास्तविक समस्या का पता लगा सकता है ।
सुनिश्चित करें कि यदि आप एक नया बनाते हैं activity
, तो हमेशा फ़ाइल activity
में घोषित करें AndroidManifest
।
यदि परमिशन जोड़ते हैं, तो इसे AndroidMainifest
फ़ाइल में भी घोषित करें ।
Logcat - एंड्रॉइड स्टूडियो के विकास चरण में लॉग की जांच करने के लिए
प्रारंभ में Logcat को साफ़ करें और ऐप को फिर से क्रैश होने दें ताकि आप केवल दुर्घटनाग्रस्त लॉग डिटेल प्राप्त कर सकें। आपको स्टैक ट्रेस की जाँच करनी है
जबकि, दुर्भाग्य से, MyApp बंद हो गया है। इसके कई कारण हैं। आप लॉग में एक ही जाँच कर सकते हैं। इसके लिए, आप Log.e ("TAG", "संदेश") का उपयोग कर सकते हैं;
ऐप क्रैश के दौरान सामान्य त्रुटि:
- कोडिंग गलती (कीवर्ड का गलत उपयोग)।
- बेमेल संपत्ति का नाम।
- असमर्थित प्लगइन (हो सकता है)।
- बेमेल संस्करण (शायद)।
- AndroidManifest फ़ाइल में गतिविधि गायब है।
- AndroidManifest फ़ाइल में अनुमति गायब है।
- सबसे आम NullPointerException।
- घोषित लेकिन परिभाषित नहीं।
एप्लिकेशन क्रैश त्रुटि को हल करने के लिए:
- अंक से ऊपर ध्यान रखें और इसके माध्यम से जाएं।
- त्रुटि के साथ, आपको फ़ाइल नाम भी नीले रंग में मिलेगा (उन पर क्लिक करें और त्रुटि से कोड पर जाएं)।
सबसे पहले, आपको यह जांचने की आवश्यकता है कि आपका ऐप कहां और क्यों क्रैश हुआ है (Unfortunately, MyApp has stopped.).
, इसकी मदद से LOG
आप यह पता लगा सकते हैं कि क्या गलत हुआ।
उसके बाद, आप पाते हैं कि आपके बिंदु से आपके ऐप ने किस बिंदु को बंद कर दिया है।
यदि आपके पास अपने टर्मिनल में किसी भी प्रकार का दिलचस्प लॉग नहीं है (या वे सीधे आपके ऐप से संबंधित नहीं हैं), तो शायद आपकी समस्या एक मूल पुस्तकालय के कारण है। उस स्थिति में, आपको अपने टर्मिनल के भीतर "tombstone" फाइलों की जांच करनी चाहिए।
टोलस्टोन फ़ाइलों के लिए डिफ़ॉल्ट स्थान हर डिवाइस पर निर्भर करता है, लेकिन अगर ऐसा है, तो आपके पास एक लॉग इनिंग होगी: Tombstone written to: /data/tombstones/tombstone_06
अधिक जानकारी के लिए, https://source.android.com/devices/tech/debug पर देखें ।
टर्मिनल में इस कमांड को चलाने से समस्या का पता लगाने में मदद मिल सकती है:
gradlew build > log.txt 2>details.txt
फिर आपको लॉग इन उपर्युक्त दो फाइलों को पढ़ने के लिए फाइल लोकेशन में जाना चाहिए।