ขออภัย MyApp หยุดทำงาน ฉันจะแก้ปัญหานี้ได้อย่างไร?

Apr 29 2014

ฉันกำลังพัฒนาแอปพลิเคชันและทุกครั้งที่เรียกใช้ฉันได้รับข้อความ:

ขออภัย MyApp หยุดทำงาน

ฉันจะทำอย่างไรเพื่อแก้ปัญหานี้


เกี่ยวกับคำถามนี้ - เห็นได้ชัดว่าได้รับแรงบันดาลใจจากสแต็กแทร็กคืออะไรและฉันจะใช้มันเพื่อแก้ไขข้อผิดพลาดของแอปพลิเคชันได้อย่างไร มีคำถามมากมายที่ระบุว่าแอปพลิเคชันของพวกเขาขัดข้องโดยไม่มีรายละเอียดเพิ่มเติม คำถามนี้มีจุดมุ่งหมายเพื่อแนะนำนักเขียนโปรแกรม Android มือใหม่ให้ลองแก้ไขปัญหาด้วยตนเองหรือถามคำถามที่ถูกต้อง

คำตอบ

734 nhaarman Apr 29 2014 at 06:55

คำตอบนี้อธิบายกระบวนการดึงสแต็กแทร็ก มีการติดตามสแต็กอยู่แล้ว? อ่านข้อมูลเกี่ยวกับสแต็กเทรซใน "สแต็กแทร็กคืออะไรและฉันจะใช้มันเพื่อแก้ไขข้อผิดพลาดแอปพลิเคชันของฉันได้อย่างไร "

ปัญหา

แอปพลิเคชันของคุณหยุดทำงานเนื่องจากมีการRuntimeExceptionขว้างปา
ที่พบบ่อยที่สุดคือNullPointerException.

ต้องแก้ยังไง?

ทุกครั้งที่แอปพลิเคชัน Android ขัดข้อง (หรือแอปพลิเคชัน Java สำหรับกรณีนั้น) a Stack traceจะถูกเขียนลงในคอนโซล (ในกรณีนี้คือ logcat) การติดตามสแต็กนี้มีข้อมูลที่สำคัญสำหรับการแก้ปัญหาของคุณ

Android Studio

ในแถบด้านล่างของหน้าต่างคลิกที่Logcatปุ่ม หรือคุณสามารถกด+alt 6ตรวจสอบให้แน่ใจว่าได้เลือกตัวจำลองหรืออุปกรณ์ของคุณในDevicesแผงควบคุม จากนั้นลองค้นหา stack trace ซึ่งแสดงเป็นสีแดง อาจมีข้อมูลหลายอย่างที่ล็อกอินเข้าสู่ Logcat ดังนั้นคุณอาจต้องเลื่อนดูเล็กน้อย วิธีง่ายๆในการค้นหา stack trace คือการล้าง logcat (โดยใช้ถังรีไซเคิลทางด้านขวา) และปล่อยให้แอปหยุดทำงานอีกครั้ง

ฉันพบการติดตามสแต็กแล้วตอนนี้คืออะไร?

เย้! คุณแก้ปัญหาได้ครึ่งทาง
คุณจะต้องค้นหาสิ่งที่ทำให้แอปพลิเคชันของคุณขัดข้องโดยการวิเคราะห์การติดตามสแต็ก

อ่านข้อมูลเกี่ยวกับสแต็กเทรซใน "สแต็กแทร็กคืออะไรและฉันจะใช้เพื่อแก้ไขข้อผิดพลาดแอปพลิเคชันของฉันได้อย่างไร "

ฉันยังแก้ปัญหาไม่ได้!

หากคุณพบของคุณExceptionและบรรทัดที่มันเกิดขึ้นและยังไม่สามารถหาวิธีแก้ไขได้อย่าลังเลที่จะถามคำถามใน StackOverflow

พยายามทำให้รัดกุมที่สุด: โพสต์สแต็กแทร็กและโค้ดที่เกี่ยวข้อง (เช่นไม่กี่บรรทัดถึงบรรทัดที่โยนException)

121 VladBezden Mar 23 2015 at 06:06

คุณสามารถใช้เครื่องมือ ADB ของ Googleที่จะได้รับLogcat fileในการวิเคราะห์ปัญหา

adb logcat > logcat.txt

เปิดlogcat.txtไฟล์และค้นหาชื่อแอปพลิเคชันของคุณ ควรมีข้อมูลว่าเหตุใดจึงล้มเหลวหมายเลขบรรทัดชื่อคลาส ฯลฯ

38 HirenVaghela Mar 18 2015 at 15:01

ขั้นแรกให้ตรวจสอบว่าจุดใดที่แอปของคุณขัดข้อง ( Unfortunately, MyApp has stopped.) สำหรับสิ่งนี้คุณสามารถใช้ได้Log.e("TAG", "Message");โดยใช้บรรทัดนี้คุณจะเห็นบันทึกแอปของคุณใน logcat

หลังจากนั้นคุณจะพบว่าจุดใดที่แอปของคุณหยุดทำงานคุณสามารถแก้ปัญหาได้ง่ายมาก

29 RahilAli Jun 11 2015 at 17:58

เพียงตรวจสอบข้อผิดพลาดในบันทึกแมว

คุณได้รับอ็อพชัน log cat จากใน eclipse:

หน้าต่าง -> แสดงมุมมอง -> อื่น ๆ -> Android-> Logcat

แมวบันทึกมีข้อผิดพลาด

นอกจากนี้คุณยังสามารถตรวจสอบข้อผิดพลาดได้โดยเรียกใช้แอปพลิเคชันในโหมดดีบัก ขั้นแรกตั้งค่าเบรกพอยต์หลังจากนั้นโดยทำ:

คลิกขวาที่ project-> debug as-> แอปพลิเคชัน Android

28 AliBdeir Nov 06 2016 at 16:23

หมายเหตุ:คำตอบนี้ใช้ Android Studio 2.2.2

หมายเหตุ 2: ฉันกำลังพิจารณาว่าอุปกรณ์ของคุณเชื่อมต่อสำเร็จแล้ว


สิ่งแรกที่คุณต้องทำเมื่อแอปพลิเคชันของคุณขัดข้องคือดู LogCat ที่ด้านล่างของ Android Studio จะมีแถบเครื่องมือพร้อมรายการเมนู:

คลิกที่ "Android Monitor" (อันที่ฉันขีดเส้นใต้ในภาพด้านบน ^)

ตอนนี้คุณจะได้รับสิ่งนี้:

เปลี่ยน " Verbose" เป็น " Error" ตอนนี้จะแสดงเฉพาะข้อผิดพลาดที่บันทึกไว้ อย่ากังวลกับข้อผิดพลาดเหล่านี้ (ถ้าคุณได้รับ) ตอนนี้

ตกลง. ตอนนี้ทำในสิ่งที่คุณทำเพื่อให้แอปของคุณพัง หลังจากแอปของคุณขัดข้องให้ไปที่ logcat ของคุณ คุณควรพบบันทึกข้อขัดข้องใหม่ที่มีจำนวนมากat:x.x.x: และCaused by: TrumpIsPresidentExceptionตัวอย่างเช่น ไปที่Caused by:คำสั่งนั้นใน logcat ของคุณ

ถัดไปไปที่Caused By:ควรจะมีข้อยกเว้นที่เกิดขึ้น ในกรณีของฉันมันเป็นRuntimeExceptionและอยู่ภายใต้มันควรจะมีเส้นที่มีความเชื่อมโยงสีฟ้าเช่น:

หากCaused by:ไม่มีบรรทัดที่มีข้อความสีน้ำเงินอยู่ข้างใต้ให้มองหาข้อความอื่นCaused by:ที่มี

คลิกที่ลิงค์สีฟ้านั้น ควรนำคุณไปสู่จุดที่เกิดปัญหา ในกรณีของฉันมันเกิดจากบรรทัดนี้:

throw new RuntimeException();

ตอนนี้ฉันรู้แล้วว่าทำไมมันถึงพัง เป็นเพราะฉันโยนข้อยกเว้นให้ตัวเอง นี่เป็นข้อผิดพลาดที่เห็นได้ชัด


อย่างไรก็ตามสมมติว่าฉันมีข้อผิดพลาดอื่น:

java.lang.NullPointerException

ฉันตรวจสอบ logcat ของฉันฉันคลิกที่ลิงค์สีน้ำเงินที่ให้ฉันและพาฉันมาที่นี่:

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เรากำลังตรวจสอบใน Debug นั่นเป็นเหตุผลที่เราเปลี่ยนเป็น debug

ประกาศLog.dมีพารามิเตอร์แรกในกรณีของเราคือ "AppDebug" คลิกที่เมนูแบบเลื่อนลง "No Filters" ที่ด้านบนขวาของ Logcat เลือก "แก้ไขการกำหนดค่าตัวกรอง" ตั้งชื่อให้กับตัวกรองของคุณและใน "แท็กบันทึก" ให้ใส่ "การแก้ไขข้อบกพร่องของแอป" คลิก "ตกลง" ตอนนี้คุณควรเห็นสองบรรทัดใน 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เป็นโมฆะเพราะฉันลืมบอกแอปของฉันว่ามันคืออะไร ฉันจึงเพิ่มบรรทัดนั้นเรียกใช้แอพของฉันและตอนนี้แอพไม่พัง


20 Ani Jul 04 2017 at 11:38

ป๊อปอัปนี้จะแสดงเฉพาะเมื่อคุณได้รับข้อยกเว้นร้ายแรงในโค้ดของคุณซึ่งจะหยุดการทำงานของแอป มันอาจจะเป็นข้อยกเว้นใด ๆNullPointerException, OutOfMemoryExceptionฯลฯ

วิธีที่ดีที่สุดในการตรวจสอบคือผ่านLogcatหากคุณยังพัฒนาแอปใน Android studio ซึ่งเป็นวิธีที่รวดเร็วในการอ่านการติดตามสแต็กและตรวจสอบสาเหตุของแอป

หากแอปของคุณใช้งานได้อยู่แล้วคุณจะไม่สามารถใช้logcatได้ ดังนั้นคุณสามารถนำCrashlyticsไปใช้เพื่อให้รายงานข้อบกพร่องของข้อยกเว้นใด ๆ ที่เกิดขึ้น

18 Manojahirwar Jun 29 2015 at 18:48

ตรวจสอบLogcatข้อความของคุณและดูManifestไฟล์ของคุณ น่าจะมีบางอย่างขาดหายไปเช่นการกำหนดActivity,User permission` เป็นต้น

15 ShivBuyya Nov 03 2015 at 12:47

คุณสามารถใช้เครื่องมือเหล่านี้:

  1. adb logcat

  2. adb logcat> logs.txt (คุณสามารถใช้ตัวแก้ไขเพื่อเปิดและค้นหาข้อผิดพลาดได้)

  3. eclipse logcat (หากมองไม่เห็นใน eclipse ให้ไปที่ Windows-> Show View-> Others-> Android-> LogCat)

  4. Android Debug Monitor หรือ Android Device Monitor (พิมพ์ command monitorหรือเปิดผ่าน UI)

  1. Android Studio

ฉันขอแนะนำให้ใช้Android Debug Monitorเป็นสิ่งที่ดี เนื่องจากคราสแฮงค์เมื่อมีบันทึกมากเกินไปและผ่านตัวกรอง adb logcat และยากทั้งหมด

13 alirezaamini Jul 13 2015 at 15:37

คุณต้องตรวจสอบไฟล์ Stack trace

ต้องทำอย่างไร?

บน IDE ของคุณตรวจสอบรูปแบบหน้าต่าง LOGCAT

หากคุณมองไม่เห็นหน้าต่าง logcat ให้ไปที่เส้นทางนี้และเปิดขึ้น

window->show view->others->Android->Logcat

หากคุณใช้ Google-Api ไปที่เส้นทางนี้

adb logcat> logcat.txt

12 MayankNema Apr 03 2017 at 16:37

ในวิธีการ 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();
}
11 W0rmH0le Jul 14 2016 at 10:21

ให้ฉันแบ่งปันการวิเคราะห์ Logcat พื้นฐานเมื่อคุณพบกับ Force Close (เมื่อแอปหยุดทำงาน)

เอกสาร

เครื่องมือพื้นฐานจาก Android ในการรวบรวม / วิเคราะห์บันทึกคือ logcat

นี่คือหน้าของ Android เกี่ยวกับ logcat

หากคุณใช้ android Studio คุณสามารถตรวจสอบLINKนี้ได้

การจับภาพ

โดยทั่วไปคุณสามารถจับ Logcat ด้วยตนเองด้วยคำสั่งต่อไปนี้ (หรือเพียงตรวจสอบหน้าต่าง AndroidMonitor ใน AndroidStudio):

adb logcat

มีพารามิเตอร์มากมายที่คุณสามารถเพิ่มลงในคำสั่งซึ่งช่วยให้คุณกรองและแสดงข้อความที่คุณต้องการ ... นี่เป็นเรื่องส่วนตัว ... ฉันมักจะใช้คำสั่งด้านล่างเพื่อรับการประทับเวลาของข้อความ:

adb logcat -v time

คุณสามารถเปลี่ยนทิศทางผลลัพธ์ไปยังไฟล์และวิเคราะห์ใน Text Editor

กำลังวิเคราะห์

หากแอปของคุณขัดข้องคุณจะได้รับสิ่งต่อไปนี้

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

ข้อผิดพลาดข้อยกเว้นตัวชี้ NULL

  • ข้อมูลโดยละเอียดเกี่ยวกับข้อผิดพลาด: Attempt to invoke virtual method 'void android.support.v4.app.FragmentActivity.onBackPressed()' on a null object reference

คุณพยายามเรียกเมธอดonBackPressed()จากFragmentActivityวัตถุ อย่างไรก็ตามวัตถุนั้นคือnullตอนที่คุณทำ

  • Stack Trace: Stack Trace แสดงให้คุณเห็นลำดับการเรียกใช้เมธอด ... บางครั้งข้อผิดพลาดเกิดขึ้นในเมธอดการโทร (ไม่ใช่ในเมธอดที่เรียก)

    ที่ com.example.khan.abc.AudioFragment $ 1. เมื่อคลิก (AudioFragment.java:125)

เกิดข้อผิดพลาดในไฟล์วิธีการcom.example.khan.abc.AudioFragment.javaภายในonClick()ที่บรรทัด: 125(stacktrace แสดงบรรทัดที่เกิดข้อผิดพลาด)

ถูกเรียกโดย:

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)

ฯลฯ ....

ภาพรวม

นี่เป็นเพียงภาพรวม ... บันทึกทั้งหมดไม่ง่าย แต่ข้อผิดพลาดจะให้ปัญหาที่เฉพาะเจาะจงและรายละเอียดแสดงปัญหาทั้งหมด ... เป็นเพียงการแบ่งปันความคิดและให้ข้อมูลระดับเริ่มต้นแก่คุณ ...

ฉันหวังว่าฉันจะช่วยคุณได้บ้าง ...

9 BiswajitKarmakar May 15 2016 at 14:45

ใช้LogCatและพยายามค้นหาสิ่งที่ทำให้แอปขัดข้อง

หากต้องการดู Logcat หากคุณใช้Android Studio ให้กดALT + 6 หรือ

ถ้าคุณใช้Eclipseจากนั้น Window -> Open Perspective -> Other - LogCat

ไปที่ LogCat จากเมนูแบบเลื่อนลงเลือกข้อผิดพลาด ซึ่งจะมีข้อมูลที่จำเป็นทั้งหมดเพื่อช่วยคุณในการแก้ไขข้อบกพร่อง หากไม่ได้ผลให้โพสต์ LogCat เป็นการแก้ไขคำถามของคุณแล้วใครบางคนจะช่วยคุณได้

8 felislynx.silae Oct 02 2017 at 22:07

หากแอปของคุณขัดข้องด้วยเหตุผลบางประการโดยไม่มี stacktrace ที่ดี ลองดีบักตั้งแต่บรรทัดแรกและไปทีละบรรทัดจนกว่าจะผิดพลาด แล้วคุณจะมีคำตอบว่าบรรทัดไหนที่ทำให้คุณเดือดร้อน จากนั้นคุณสามารถห่อเป็นลองจับบล็อกและพิมพ์ผลลัพธ์ข้อผิดพลาด

6 Pelpotronic Mar 22 2015 at 15:50

คุณยังสามารถรับข้อความแสดงข้อผิดพลาดนี้ได้ด้วยตัวเองโดยไม่มีการติดตามสแต็กหรือข้อความแสดงข้อผิดพลาดเพิ่มเติม

ในกรณีนี้คุณต้องตรวจสอบให้แน่ใจว่ารายการ Android ของคุณได้รับการกำหนดค่าอย่างถูกต้อง (รวมถึงการรวมรายการใด ๆ ที่เกิดขึ้นจากไลบรารีและกิจกรรมใด ๆ ที่มาจากไลบรารี) และให้ความสนใจเป็นพิเศษกับกิจกรรมแรกที่แสดงในแอปพลิเคชันของคุณในไฟล์รายการของคุณ .

6 naXa Sep 11 2018 at 15:35

ความผิดพลาดระหว่างการพัฒนา

ลองใช้logviewเครื่องมือโปรดของฉันเพื่อรับบันทึกและวิเคราะห์ในระหว่างการพัฒนา
ตรวจสอบให้แน่ใจว่าได้ทำเครื่องหมาย./logviewและ./lib/logview.jarเป็นปฏิบัติการได้เมื่อรันใน Linux

ถ้าคุณไม่ชอบมันมีอยู่เป็นจำนวนมากทางเลือกที่ผู้ชมบันทึกเดสก์ทอปสำหรับ Android

ชนในป่า

ผสานรวมเครื่องมือรายงานข้อขัดข้องแบบเรียลไทม์เช่นFirebase Crashlyticsเพื่อรับข้อยกเว้นที่ไม่สามารถจัดการได้ซึ่งเกิดขึ้นกับอุปกรณ์ของผู้ใช้

อ่านวิธีการเผยแพร่แอป Buggy (และ Live to Tell the Tale)เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการจัดการข้อบกพร่องในสนาม

5 KopiBryant May 20 2018 at 00:24

ผู้คนทำผิดพลาดและการเขียนโค้ดก็เช่นกัน

เมื่อใดก็ตามที่เคยerrorเกิดขึ้นให้ตรวจสอบกับ Logcat ด้วยข้อความที่เป็นสีแดงเสมออย่างไรก็ตามคุณสามารถค้นหาปัญหาที่แท้จริงในข้อความสีฟ้าพร้อมขีดเส้นใต้ในข้อความสีแดงเหล่านั้น

ตรวจสอบให้แน่ใจว่าคุณสร้างใหม่activityหรือไม่ให้ประกาศactivityในAndroidManifestไฟล์เสมอ

ถ้าจะเพิ่ม Permission ให้ประกาศในAndroidMainifestไฟล์ด้วย

5 Ashish Mar 26 2019 at 11:42

Logcat - เพื่อตรวจสอบบันทึกในขั้นตอนการพัฒนาของ Android Studio

ในขั้นต้นให้ล้าง Logcat และปล่อยให้แอปหยุดทำงานอีกครั้งเพื่อให้คุณได้รับเฉพาะรายละเอียดบันทึกที่ผิดพลาด คุณต้องตรวจสอบการติดตาม Stack

ในขณะที่น่าเสียดายที่ MyApp หยุดทำงาน มันมีหลายสาเหตุ คุณสามารถตรวจสอบบันทึกเดียวกันได้ สำหรับสิ่งนี้คุณสามารถใช้ Log.e ("TAG", "Message");

ข้อผิดพลาดทั่วไประหว่างแอปขัดข้องเช่น:

  1. ความผิดพลาดในการเข้ารหัส (การใช้คำหลักไม่ถูกต้อง)
  2. ชื่อคุณสมบัติไม่ตรงกัน
  3. ปลั๊กอินที่ไม่รองรับ (อาจจะ)
  4. เวอร์ชันไม่ตรงกัน (อาจจะ)
  5. ไม่มีกิจกรรมในไฟล์ AndroidManifest
  6. ไม่มีสิทธิ์ในไฟล์ AndroidManifest
  7. NullPointerException ที่พบบ่อยที่สุด
  8. ประกาศ แต่ไม่ได้กำหนด

วิธีแก้ไขข้อผิดพลาดข้อขัดข้องของแอป:

  • จำไว้เหนือประเด็นและผ่านมันไป
  • ด้วยข้อผิดพลาดคุณจะได้รับชื่อไฟล์เป็นสีฟ้า (คลิกที่พวกเขาและข้ามไปยังรหัสจากข้อผิดพลาดที่เกิดขึ้น)
4 MehulSolanki May 22 2019 at 17:40

ขั้นแรกคุณต้องตรวจสอบว่าแอปของคุณขัดข้องที่ไหนและทำไม(Unfortunately, MyApp has stopped.).ด้วยความช่วยเหลือของLOGคุณจะพบสิ่งที่ผิดพลาด

หลังจากนั้นคุณจะพบว่าจุดใดที่แอปของคุณหยุดการแก้ไขจากจุดของคุณ

4 zapotec Jun 12 2019 at 20:07

หากคุณไม่มีการเข้าสู่ระบบที่น่าสนใจในเทอร์มินัลของคุณ (หรือไม่เกี่ยวข้องโดยตรงกับแอปของคุณ) ปัญหาของคุณอาจเกิดจากไลบรารีดั้งเดิม ในกรณีนี้คุณควรตรวจสอบไฟล์ "tombstone" ภายในเทอร์มินัลของคุณ

ตำแหน่งเริ่มต้นสำหรับไฟล์ tombstone ขึ้นอยู่กับอุปกรณ์ทุกเครื่อง แต่หากเป็นเช่นนั้นคุณจะมีบันทึกบอก: Tombstone written to: /data/tombstones/tombstone_06

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบhttps://source.android.com/devices/tech/debug

2 MohsenEmami Mar 16 2020 at 17:18

การเรียกใช้คำสั่งนี้ในเทอร์มินัลสามารถช่วยค้นหาปัญหาได้:

gradlew build > log.txt 2>details.txt

จากนั้นคุณควรไปที่ตำแหน่งไฟล์ gradlew ในอ่านสองไฟล์บันทึกด้านบน