ไม่สามารถยกตัวอย่างแอปพลิเคชัน com.android.tools.fd.runtime.BootstrapApplication? Android


140

ฉันอัปเดต Android Studio เป็นเวอร์ชัน 2.0 แต่ฉันมีปัญหาฉันไม่รู้ว่าทำไม

ข้อมูลข้อผิดพลาดที่สำคัญ:

ไม่สามารถสร้างอินสแตนซ์ของแอปพลิเคชัน com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication

ฉันค้นหามานาน แต่ฉันไม่พบคำตอบที่ถูกต้องคุณจะเห็นลิงค์

ในเวลาเดียวกันเมื่อฉันคลิกไฟล์ -> โครงสร้างโครงการ มันแสดงให้เห็นข้อผิดพลาดนี้:

ป้อนคำอธิบายรูปภาพที่นี่

มีปัญหาอะไรใน libs บ้างไหม? เมื่อสร้าง gradle โปรแกรม libs จะไม่โหลดอย่างสมบูรณ์สำหรับโปรแกรมปัจจุบัน มีปัญหากับ Android Studio เวอร์ชัน 2.0 หรือไม่

เมื่อฉันใช้ Android studio 1.4.0 เพื่อสร้างและเรียกใช้โปรแกรม มันใช้งานได้ดีสำหรับฉัน! แต่เมื่อฉันใช้ Android Studio 2.0 ปัญหาจะปรากฏขึ้น!

ทำไม? ได้โปรดช่วยฉันที

นี่คือบันทึกข้อผิดพลาดโดยละเอียด:

11-28 11: 57: 00.489 19890-19890 / com.eallcn.rentagent.debug E / AndroidRuntime: ข้อยกเว้นทาง FATAL: กระบวนการหลัก: com.eallcn.rentagent.debug, PID: 19890 java.lang.RuntimeException: ไม่สามารถอัปเดตแอปพลิเคชันได้ com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication ที่ android.app.LoadedApk.makeApplication (โหลด LoadedApk.java) ที่ .ActivityThread.handleBindApplication (ActivityThread.java:4586) ที่ android.app.ActivityThread.access $ 1800 (ActivityThread.java:139)
ที่ android.app.ActivityThread $ ActivityHreadAndAndAndThat.java:1316)
ที่ android.os.Handler.dispatchMessage (Handler.java:102)
ที่ android.os.Looper.loop (Looper.java:136)
ที่ android.app.ActivityThread.main (ActivityThread.java:5314)
ที่ java.lang reflect.Method.invokeNative (วิธีเนทีฟ)
ที่ java.lang.reflect.Method.invoke (Method.java,515)
ที่ com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) ที่ com android.internal.os.ZygoteInit.main (ZygoteInit.java:680)
ที่ dalvik.system.NativeStall.main (วิธีการเนทีฟ)
เกิดจาก: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyAppAppallall
ที่ com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:167) ที่ com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) (Application.java:194)
ที่ android.app.Instrumentation.newApplication (Instrumentation.java:992)
ที่ android.app.Instrumentation.newApplication (Instrumentation.java:976)
ที่ android.app.LoadedApk.makeApplication (LoadedApk.java: 532)
ที่ android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) ที่ android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) ที่ android.app.ActivityThread $ ActivityHreadAndActivityThava.java:1316) .os.Handler.dispatchMessage (Handler.java:102) ที่ android.os.Looper.loop (Looper.java:136) ที่ android.appActivityThread.main (ActivityThread.java:5314) ที่ java.lang.reflect.Method.invokeNative (Native Method) ที่ java.lang.reflect.Method.invoke (Method.javaTP15) ที่ com.android.internal.os ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) ที่ com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) ที่ dalvik.system.NativeStartmain (Native Method) เกิดจาก: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication ที่ java.lang.Class.classForName (วิธีดั้งเดิม) ที่ java.lang.Class.forName (Class.java:251) ที่ java .lang.Class.forName (Class.java:216) ที่ com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) ที่ com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) ที่ android.app.Application.attach (Application.java:194) ที่ android.app.Instrumentation.newApplication (Instrumentation.java) : 992) ที่ android.app.Instrumentation.newApplication (Instrumentation.java:976) ที่ android.app.LoadedApkmakeApplication (LoadedApk.java/532) ที่ android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) ที่ android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) ที่ android.app.ActivityThread $ H.handleMessage ActivityThread.java:1316) ที่ android.os.Handler.dispatchMessage (Handler.java:102) ที่ android.os.Looperวนรอบ (Looper.java:136) ที่ android.app.ActivityThread.main (ActivityThread.java:5314) ที่ java.lang.reflect.Method.invokeNative (วิธีดั้งเดิม) ที่ java.lang.reflect.Method.invoke (วิธีการ java: 515) ที่ com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) ที่ com.android.internal.os.ZygoteInit.java (ZygoteInit.java:680) ที่ dalvik.system.NativeStart.main (วิธีดั้งเดิม) เกิดจาก: java.lang.NoClassDefFoundError: com / eallcn / rentagent / MyDebugEallApplication ที่ java.lang.Class.cforForName (วิธีเนทีฟ) ที่ java.lang.Class.forName (Class.java:251) ที่ java.lang.Class.forName (Class.java:216) ที่ com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) ที่ com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) ที่ android.app.Application.java:179 .attach (Application.java:194) ที่ android.app.Instrumentation.newApplication (Instrumentation.java:992) ที่ android.app.Instrumentation.newApplication (Instrumentation.java:976) ที่ android.app.LoadedApk.makeApplication (LoadedApk.javaQU32) ที่ android.app.ActivityThread.handleBindApplication (กิจกรรมThread.java:4586) ที่ android app.ActivityThread.access $ 1800 (ActivityThread.java:139) ที่ android.app.ActivityThread.access $ $handleMessage (ActivityThread.java:1316) ที่ android.os.Handler.dispatchMessage (Handler.java:102) ที่ android.os.Looper.loop (Looper.java:136) ที่ android.app.ActivityThread.main (ActivityThread.java) : 5314) ที่ java.lang.reflect.Method.invokeNative (วิธีเนทีฟ) ที่ java.lang.reflect.Method.invoke (Method.java:515) ที่ com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) ที่ com.android.internal.os.ZygoteInit.java:680) ที่ dalvik.system.NStain.main (วิธีการเนทีฟ) เกิดจาก: java.lang.ClassNotFoundException: ไม่พบคลาส "com.eallcn.rentagent.MyDebugEallApplication" บนพา ธ : DexPathList [[ไฟล์ซิป "/data/app/com.eallcn.rentagent.deagb.-1 .apk "]nativeLibraryDirectories = [/ data / app-lib / com.eallcn.rentagent.debug-1, / ผู้ขาย / lib, / system / lib, / data / datalib]] ที่ dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56 ) ที่ java.lang.ClassLoader.loadClass (ClassLoader.java:497) ที่ java.lang.ClassLoader.loadClass (ClassLoader.java:457) ที่ java.lang.ClassclassForName (วิธีเนทีฟ) ที่ java.lang.Class.forName (Class.java:251) ที่ java.lang.Class.forName (Class.java:216) ที่ com.android.tools.fd.runtime.BootstrapApplication.createRealApplication ( BootstrapApplication.java:155) ที่ com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) ที่ android.appApplication.attach (Application.java:194) ที่ android.app.Instrumentation.newApplication (Instrumentation.java:992) ที่ android.app.Instrumentation.newApplication (Instrumentation.java:976) ที่ android.app.LoadedApk.makeApplication .java: 532) ที่ android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) ที่ android.appActivityThread.access $ 1800 (ActivityThread.java:139) ที่ android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) ที่ android.os.Handler.dispatchMessage (Handler.java:102) ที่ android.os วนรอบ (Looper.java:136) ที่ android.app.ActivityThread.main (ActivityThread.java:5314) ที่ java.lang.reflect.MethodinvokeNative (วิธีเนทีฟ) ที่ java.lang.reflect.Method.invoke (Method.java,515) ที่ com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) ที่ com.android.internal os.ZygoteInit.main (ZygoteInit.java:680) ที่ dalvik.system.NativeStart.main (วิธีดั้งเดิม)515) ที่ com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) ที่ com.android.internal.os.ZygoteInit.java:680) ที่ dalvik.system (วิธีการดั้งเดิม)515) ที่ com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) ที่ com.android.internal.os.ZygoteInit.java:680) ที่ dalvik.system (วิธีการดั้งเดิม)680) ที่ dalvik.system.NativeStart.main (วิธีดั้งเดิม)680) ที่ dalvik.system.NativeStart.main (วิธีดั้งเดิม)

 


ฉันคิดว่าคำถามนี้คือ: มันเป็นเพียงเกี่ยวกับ android studio 2.0 และรุ่น gradle ไม่เข้ากัน!
GeekHades

คำตอบนี้จะแก้ปัญหาของคุณ
Amit Vaghela

คำตอบ:


313

ปิดใช้งานตัวเลือกเรียกใช้ทันทีใน Android Studio คำแนะนำในเอกสาร Run Android สตูดิโอทันที

การเรียกใช้ทันทีพยายามที่จะทำการแลกเปลี่ยนรหัสร้อน ๆ สิ่งนี้ทำให้คลาสแอปพลิเคชันถูกย้าย

หากต้องการปิดใช้งานการเรียกใช้ทันทีไปที่ไฟล์ -> การตั้งค่า -> สร้างดำเนินการปรับใช้ -> เรียกใช้ทันที ---> ยกเลิกการเลือก "เปิดใช้การเรียกใช้ทันที"


10
สิ่งนี้เพิ่งเกิดขึ้นกับฉันบนอุปกรณ์ Marshmallow
Jon

37
ฉันเพียงคนเดียวที่คิดว่าปิดใช้งานคุณลักษณะที่สำคัญของคุณ IDEคือไม่ได้เป็นทางออกที่ดี? มันก็เหมือนกับการพูดการใช้สตูดิโอ 1.4 downvoted
natario

17
@mvai: มันไม่ใช่ทางออกที่ดี แต่อาจเป็นทางออกที่ดีที่สุด หากปัญหาเกิดจากการเรียกใช้ทันทีการรู้และการปิดใช้งานในบางครั้งนั้นมีค่ามาก Downvoting คำตอบนี้ก็เหมือนกับการถ่ายภาพผู้ส่งสารที่บอกคุณว่าอย่าใช้เส้นทางที่สั้นที่สุดกลับบ้านเพราะมีการซุ่มโจมตีรอคุณอยู่ ..
LarsH

3
@mvai: ตกลงสิ่งเหล่านั้นสามารถทำได้เพื่อปรับปรุงคำตอบ (แม้ว่า 4 จาก 5 ดูเหมือนชัดเจน) แต่การลดลงไม่ใช่สำหรับ "คำตอบนี้อาจจะดีกว่า" แต่สำหรับ "คำตอบนี้ไม่มีประโยชน์" ในขณะที่คำตอบนี้มีประโยชน์มาก อย่าลังเลที่จะเพิ่มรายละเอียดที่คุณคิดว่าจะปรับปรุงคำตอบ; ไม่ว่าจะที่นี่หรือตามคำตอบของคุณเอง
LarsH

2
นี่เป็นคำตอบที่น่าเศร้า แต่เนื่องจากการเรียกใช้ในทันทีนั้นใช้งานไม่ได้นี่เป็นทางออกที่ถูกต้อง
clu

22

ฉันมีข้อผิดพลาดเดียวกันหลังจากพยายามใช้ 2.0

ฉันแก้ไขได้ด้วยการคืนค่าการเปลี่ยนแปลงแบบค่อยเป็นค่อยไป:

1/3:

การเปลี่ยนแปลง:

classpath 'com.android.tools.build:gradle:2.0.0-alpha1'

โดย:

classpath 'com.android.tools.build:gradle:1.2.3'

2/3:

การเปลี่ยนแปลง:

buildToolsVersion '23.0.2'

โดย:

buildToolsVersion "21.1.2"

3/3: (ใน<project folder>/.idea/gradle.xml)

และ:

<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.8" />

โดย:

<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.4" />

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

หวังว่ามันจะช่วยคุณ :)


ขั้นตอนที่สาม: <option name = "gradleHome" value = "$ APPLICATION_HOME_DIR $ / gradle / gradle-2.4" /> ฉันจะหาได้ที่ไหนฉันต้องการเปลี่ยน ฉันสามารถหารหัส!
GeekHades

สวัสดีเห็นคำตอบที่แก้ไขแล้ว ( <project folder>/.idea/gradle.xml)
emmgfx

2 ขั้นตอนแรกดูเหมือนว่าจะแก้ไขให้ฉัน
Marc

คือoption name="gradleHome"อะไร ตั้งอยู่ที่ไหน
IgorGanapolsky

1
ถ้าคุณมี gradle สร้างแอปพลิเคชันของคุณ: aaptOptions.setProperty ("cruncherEnabled", false) จะเป็นการดีกว่าที่จะลบออก และอีกสิ่งหนึ่งที่ไม่ต้องใช้การเรียกใช้ทันทีจนกว่ามันจะมีความเสถียรเต็มที่ทำให้เกิดปัญหามากมาย
Stoycho Andreev

17

ฉันมีข้อผิดพลาดเดียวกัน

ฉันแก้ไขมันด้วยการล้างโครงการ (Build> Clean Project)


3
คำตอบที่ประเมินต่ำเกินไป!
Anup

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


5

ฉันสามารถกำจัดข้อผิดพลาดนี้ได้โดยอัปเดต gradle-wrapper.properties เป็นgradle-2.14.1-allและทำความสะอาด / สร้างโครงการใหม่ จากนั้นมันก็วิ่งได้ดี ไม่มีการเปลี่ยนแปลงอื่น ๆ ที่จำเป็น (ตามที่แนะนำในคำตอบข้างต้น) ...


1
คุณกำลังใช้com.android.tools.build:gradle:2.0.0-alpha1? ข้อผิดพลาดยังคงมีอยู่สำหรับฉันหลังจากฉันอัปเกรดเป็นcom.android.tools.build:gradle:2.0.0-alpha6+https\://services.gradle.org/distributions/gradle-2.10-all.zip
Liuting

1
ใช่ฉันอัพเกรดเป็น Android Studio Preview 5 แล้วมันบอกว่าฉันต้องอัพเกรดเวอร์ชั่น gradle เพื่อใช้งานได้ทันที ดูเหมือนว่าพวกเขากำลังเปิดตัวอัลฟาค่อนข้างบ่อยสำหรับการแก้ไขข้อผิดพลาด ..
Liuting

1
หากคุณกำลังทำงานกับโครงการของลูกค้า / ผลิตภัณฑ์ของคุณเองบิลด์ 'alpha' หรือ 'เบต้า' จะไม่สามารถใช้งานได้ ลองใช้รุ่นที่หนึ่งหรือรุ่นที่สองแทน ... เพราะมันไม่เสถียร และถ้าคุณกำลังทดสอบไม่เสถียรสร้างสำหรับการแก้ไขข้อผิดพลาดและปรับปรุงแม้สตูดิโอหุ่นยนต์จากช่องกระป๋องสามารถช่วยในกระบวนการ ...
Bhuro


3

ฉันยังได้รับข้อผิดพลาดนี้กับ Android 2.0 ในช่องสัญญาณเสถียร

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


2

สำหรับผู้ที่ต้องการอัปเดต classPath ด้วยปลั๊กอิน gradle รุ่นล่าสุดแล้วจะหารุ่นปลั๊กอินล่าสุดได้ที่ไหน

ตรวจสอบในhttp://tools.android.com/tech-docs/new-build-systemและอัปเดต classPath ของคุณ ล่าสุดที่ปัจจุบันคือ

 classpath 'com.android.tools.build:gradle:2.0.0'.

พยายามสร้างด้วยปลั๊กอินรุ่นล่าสุดเสมอ


2

หากคุณไม่ต้องการปิดใช้งานการเรียกใช้ทันทีให้ทำโครงการที่สะอาดและรันใหม่อีกครั้ง



2

ฉันยังประสบปัญหาเดียวกันและฉันแก้ไขมัน ในกรณีของฉันมันเป็นเพราะความผิดพลาดในระดับโลก (ตลอดทั้งบริบทของแอพลิเคชันระดับ) ความผิดพลาดของฉันคือในAndroidManifest.xmlฉันได้ประกาศคลาสแอพลิเคชันVolleyHelperเป็น: -

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true" android:name=".VolleyHelper"
        android:theme="@style/AppTheme"> 

แต่ในVolleyHelper.javaฉันไม่มีตัวสร้างเริ่มต้น ดังนั้นฉันจึงเพิ่มตัวสร้างเริ่มต้นในVolleyHelper.java(Application Class)


1

คุณยังสามารถเพิ่มสิ่งนี้ลงใน gradle ของคุณเพื่อป้องกันไม่ให้ dex ในการแก้ปัญหา

debug {
    // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
    // to pre-dex each module and produce an APK that can be tested on
    // Android Lollipop without time consuming dex merging processes.
    minSdkVersion 21
}

1

ในอุปกรณ์ Android บางรุ่นก่อน OS 5.0 เราได้รับข้อความแสดงข้อผิดพลาด:

เกิดจาก: java.lang.ClassNotFoundException: ไม่พบคลาส "com.android.tools.fd.runtime.BootstrapApplication

เราต้องปิดการใช้งาน "เรียกใช้ทันที"

ไปFile> Settings> Built, Execution, Deployment>Instant Run

จากนั้นปิดการใช้งานตัวเลือก Enable Instant Run to hot swap code.

ป้อนคำอธิบายรูปภาพที่นี่


1

ฉันต้องรีบูตอุปกรณ์ของฉัน พยายามทุกอย่างก่อนอื่นน่าเสียดายที่ชั่วโมงเสียเปล่า


1

หากคุณกำลังแชร์แอปของคุณแสดงว่าโซลูชันอื่นคือ

ไปที่ Android Studio --> Build --> Build APK

APK generated successfullyขึ้นป๊อปจะมาพร้อมกับ Show in Explorerจะพาคุณไปยังโฟลเดอร์ apk ที่สร้างขึ้น


1

ไม่จำเป็นต้องปิดการใช้งาน "เรียกใช้ทันที"
1. ไปที่รูทของโครงการโดยใช้ File Explorer
2. เสร็จสิ้น Android Studio (AS)
3. ลบ (ย้ายที่อื่น) เนื้อหาของโฟลเดอร์ ".gradle"
(เพื่อทำความสะอาดเงินสดและสิ่งประดิษฐ์เก่า)
4. ใน res res กำจัดสิ่งที่ไม่เหมาะสมทั้งหมด ไฟล์
5. เรียก ใช้ AS อีกครั้ง
6. ในชุด build.gradle ของโมดูล "buildTypes {debug {minifyEnabled true" เป็น false
(ดูเหมือนว่าข้อผิดพลาดอยู่ในไฟล์ proguard ของฉัน)

ซิงค์รวบรวมและเรียกใช้แอปอีกครั้ง: /


1

ข้อผิดพลาดนี้จะเกิดขึ้นเมื่อคุณเพิ่มกิจกรรมว่างด้วยไฟล์. javaa ดังนั้นเพื่อแก้ไขข้อผิดพลาดนี้อันดับ 1 คุณต้องสร้างโครงการอีกครั้ง จากนั้นเรียกใช้ แก้ไขแล้วขอบคุณ


กิจกรรมสีดำ?
Leo สนับสนุน Monica Cellio

-1

ฉันเพิ่งอัปเดต Android Studio เป็นเวอร์ชันล่าสุด (2.0 Beta 5) มันเปลี่ยนแปลงตัวเองclasspath 'com.android.tools.build:gradle:2.0.0-beta5'และทำงานเหมือนมีเสน่ห์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.