ประเภทข้อผิดพลาด 3 ข้อผิดพลาด: ไม่มีกิจกรรมคลาส {}


397

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

Launching application: com.trackingeng/LandingActivity.
DEVICE SHELL COMMAND: am start -D -n "com.trackingeng/LandingActivity"  
    -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN  
    cat=[android.intent.category.LAUNCHER] cmp=com.trackingeng/LandingActivity }
Error type 3
Error: Activity class {com.trackingeng/LandingActivity} does not exist.

เมื่อฉันคลิกซิงค์โครงการที่มีไฟล์ Gradleผลลัพธ์จะ:

Project Sync
The project 'TrackingEng' is not a Gradle-based project

เรียกใช้การตั้งค่า: ป้อนคำอธิบายรูปภาพที่นี่


ไฟล์AndroidManifest.xmlดั้งเดิมของคุณอยู่ที่ไหน
twlkyao

ในสถานที่เดียวกันภายใต้โฟลเดอร์หลักในโครงการ
จาค็อบ

ฉันหมายความว่ารูปนี้ในโพสต์เป็นต้นฉบับของคุณAndroidManifest.xmlหรือไม่
twlkyao

7
ฉันพบกระทู้หวังว่าจะช่วยได้ stackoverflow.com/questions/19670607/…
twlkyao

4
แม้ว่าจะไม่ได้ผลในกรณีของ OP แต่การซิงค์แบบค่อยเป็นค่อยไปก็แก้ปัญหาได้แล้วError: Activity class {...} does not exist.สำหรับฉัน
ไดโนเสาร์

คำตอบ:


612

ฉันต้องเผชิญกับปัญหาที่คล้ายกันหลังจากปรับโครงสร้างใหม่
นี่คือสิ่งที่ฉันทำเพื่อแก้ไขปัญหานี้:

  1. ทำความสะอาดโครงการ
  2. ลบBuildไดเรกทอรี
  3. รีสตาร์ท Android Studio
  4. สร้างโครงการใหม่
  5. วิ่ง
  6. ทางเลือก (ไปที่เมนูไฟล์สำหรับ Android คลิกที่ "ทำให้แคช / เริ่มต้นไม่ถูกต้อง ... " ถอนการติดตั้งแอปในโทรศัพท์ของคุณแล้วลองอีกครั้ง)

และทุกอย่างทำงานได้ดี!
ผมคิดว่าที่สำคัญคือการรีสตาร์ท IDE

หวังว่านี่จะช่วยคุณหรือใคร ๆ !

แก้ไข 1:
หากขั้นตอนข้างต้นไม่ได้ผลสำหรับคุณการลบ Gradle cache ดูเหมือนจะเป็นวิธีแก้ปัญหาตามที่ระบุไว้โดย @Yasitha

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

แก้ไข 3
ดังที่กล่าวไว้ในคำตอบของ Abhishekควรลองลบแอพออกจากอุปกรณ์ของคุณในกรณีที่มีผู้ใช้หลายคนตั้งค่าไว้ในอุปกรณ์ของคุณ
เพียงไปที่ Mobile Settings > Apps > [Your App] > More > Uninstall App for All Users

อัปเดตสำหรับ Android Studio 2.1 ขึ้นไป

เมื่อใช้ Android Studio 2.1 ขึ้นไปคุณจะพบปัญหานี้เมื่อคุณเปิดใช้งานตัวเลือกการเรียกใช้ทันทีในการตั้งค่าของคุณ (เปิดใช้งานตามค่าเริ่มต้น)

หากต้องการปิดใช้งานตัวเลือกนี้ให้ไปที่PreferencesตัวเลือกในAndroid Studioเมนูด้านบนและมองหาเพื่อInstant Runให้คุณสามารถยกเลิกการเลือกช่องทำเครื่องหมายแรกบนหน้าจอนั้น

ปิดใช้งานการเรียกใช้ทันทีใน Android Studio 2.1+

อย่างไรก็ตามที่แก้ไขให้ฉัน แต่เดิมชี้ให้เห็นโดยผู้ใช้ @ yusufonder ฉันค้นพบว่านี่เป็นปัญหาตั้งแต่การติดตั้งแบบค่อยเป็นค่อยไปยังคงใช้ได้


2
มันทำงานได้ดีโดยไม่ต้องลบไดเรกทอรีสร้าง
Shivam Bhalla

12
ฉันทำการลบ gradle cache ดังที่อธิบายไว้ที่นี่stackoverflow.com/a/25602161/630833
jayeffkay

4
แม้ว่านี่จะเป็นรายการล่าช้า แต่ฉันกำลังประสบปัญหานี้หลังจากอัปเดต Android Studio เป็น 1.5 และโซลูชันข้างต้นไม่ทำงานในกรณีของฉัน
zulkarnain shah

42
ลองเรียกใช้ 'adb uninstall <package>' ในเทอร์มินัลเพื่อลบแอปออกจากอุปกรณ์อย่างสมบูรณ์
Mikhail Sharin

3
บน Android 7.0 เมื่อคุณถอนการติดตั้งแอปบนอุปกรณ์ (โดยลากไปที่ป้าย "ถอนการติดตั้ง" บนหน้าจอหลักของอุปกรณ์) แอปที่จริงแล้วเป็นเพียง "ปิดใช้งาน" คุณต้องไปที่การตั้งค่า / แอพและนำแอพออกจากนั้นด้วยตนเอง (หรือใช้คำสั่ง ADB) ฉันกระโจนเข้าหามันสองสามครั้ง แต่หลังจากผ่านไปสองสามครั้งฉันจะลืมเกี่ยวกับ Android 7.0 ที่เรียกว่าคุณสมบัตินี้
Mike Keskinov

325

อาจเป็นประโยชน์สำหรับใครบางคน: -

บางครั้งเมื่อการทดสอบบนอุปกรณ์แอปไม่ได้ถอนการติดตั้งอย่างถูกต้อง หากต้องการตรวจสอบและแก้ไขสิ่งนี้:

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

12
ด้วยการใช้งานตัวอย่างนักพัฒนา Android O 3 ฉันไม่สามารถทำการถอนการติดตั้งสำหรับการกระทำของผู้ใช้ทั้งหมดได้เนื่องจากมันบอกฉันว่าไม่มีแอพในรายการแอพ วิ่งadb uninstall {packageName}แก้ปัญหาได้
alexbchr

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

2
ขอบคุณชายฉันกำลังประสบปัญหานี้บน Android oreo ที่ไม่ถอนการติดตั้งแอปพลิเคชันสำเร็จอย่างสมบูรณ์
Salman500

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

2
แอปของฉันถูกปิดใช้งาน
iamsujan

81

ฉันจะประสบปัญหานี้เมื่อถอนการติดตั้งแอปผ่านอุปกรณ์ (เช่นการลากแอพไปยังตัวเลือก "ถอนการติดตั้ง") แต่นี่เป็นวิธีที่เหมาะสมในการถอนการติดตั้ง:

ใช้./gradlew uninstallAllคำสั่ง สิ่งนี้จะป้องกันError: Activity class {HomeActivity} does not exist.ข้อผิดพลาด

ปรับปรุง:

./gradlew uAหากคุณขี้เกียจคุณสามารถใช้ตัวย่อสำหรับงานนี้:

หรือกำหนดนามแฝงสำหรับงาน gradle ทั่วไปใน.bash_profileการทำเช่นนี้จะประหยัดเวลาพิมพ์และคุณไม่ต้องจำทุกคำสั่งหรือกังวลเกี่ยวกับการพิมพ์ผิด ฉันแนะนำให้ทำเช่นนี้


ไม่ดีอย่างที่เคยเป็นฉันยังคิดว่ามันดีกว่า Gradle เป็น IMO ที่น่ารังเกียจ
JJF

4
นี่เป็นสิ่งเดียวที่ทำงานกับฉันกับ Android Studio 3.1 Canary 7
NOTiFY

2
คำตอบที่ดี อุปกรณ์บางอย่างดูเหมือนจะมีปัญหากับการถอนการติดตั้ง สำหรับฉันแล้ว Xiaomi Mi Mix 2 กับ EU Build ฉันเดาว่ามันเป็นข้อผิดพลาดในรุ่นของอุปกรณ์
Opiatefuchs

1
มันใช้งานได้สำหรับฉัน หลังจากทำงาน. / gradlew ถอนการติดตั้งทั้งหมด
Shanison

1
ตั้งแต่ต้นปี 2563 นี่เป็นทางออกเดียวที่เหมาะกับฉัน
PGMacDesign

73

สิ่งนี้จะเกิดขึ้นเมื่อคุณทำสิ่งต่อไปนี้

  • เชื่อมต่ออุปกรณ์ / โปรแกรมจำลองของคุณ
  • เรียกใช้แอพจาก Android Studio (AS)
  • ใช้ / ทดสอบแอพและถอนการติดตั้งจากอุปกรณ์ในขณะที่ยังคงเชื่อมต่อกับคอมพิวเตอร์ของคุณ
  • ลองเรียกใช้แอปอีกครั้งจาก AS

คิดว่าคุณยังมีแอปในอุปกรณ์ของคุณอยู่

tl; dr - ในการแก้ไขปัญหานี้คุณสามารถยกเลิกการเชื่อมต่ออุปกรณ์ของคุณหลังจากถอนการติดตั้งแอพและเชื่อมต่อใหม่


11
แม้ว่าอย่าปล่อยให้ตัวเองสับสนหากแอปไม่แสดงใน Launcher แต่เพียงตรวจสอบการตั้งค่า / แอพ -> "ทั้งหมด" หากมีแอพแสดงอยู่ เป็นกรณีของใบสมัครของฉันและหลังจากลบมันทุกอย่างทำงานได้ดีอีกครั้ง
Daniel Gilbert

1
หากไม่ปรากฏใน Launcher ตาม @DanielGilbert คุณสามารถถอนการติดตั้งได้อย่างง่ายดายด้วย "adb uninstall package.name" มันก็ใช้ได้กับฉันเช่นกัน
Mike

มันก็ใช้ได้กับฉันเช่นกัน ฉันทำงานโครงการตัวอย่างซึ่งมีสองเวอร์ชัน ฉันติดตั้งรุ่นแรกแล้วถอนการติดตั้งเพื่อติดตั้งรุ่นที่สอง ฉันเสียเวลามากในการแก้ไขข้อผิดพลาด นี่ไม่ใช่ครั้งแรกที่การพัฒนา Android มีปัญหาแปลก ๆ ที่แก้ไม่ได้เช่นนี้ ...
Damn Vegetables

กรณีของฉัน. ตัดการเชื่อมต่อและเชื่อมต่ออุปกรณ์ - สิ่งนี้ใช้ได้สำหรับฉัน! แอปพลิเคไม่ได้อยู่บนอุปกรณ์ แต่เป็นไม่ได้ติดตั้งมันคิดว่า app ยังอยู่ในอุปกรณ์ของฉัน
วิคตอเรีย Klimova

35

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

หรือคุณสามารถลองหลังจากรันคำสั่ง adb

adb uninstall PACKAGE_NAME

โดยที่ PACKAGE_NAME เป็นชื่อเต็มเช่น com.example.myapp


มันใช้งานได้! ในกรณีadb uninstall com.demoของฉันที่ชื่อแอปของฉันคือdemo
Muhammad Ovi

com.demo จะเป็นชื่อแพ็กเกจของคุณ
Dipendra Sharma

3
คำตอบเดียวที่ใช้งานได้! Android Studio 3.4.2, API ระดับ 28
ykonda

ทางออกเดียว ขอบคุณ!
Juan Ignacio Barisich

ตรวจสอบให้แน่ใจว่าอุปกรณ์เชื่อมต่อผ่านคำสั่งadb devices
G. Ciardini

33

ฉันมีปัญหาเดียวกันและนี่คือวิธีที่ฉันจะแก้ไข

ไปที่Gradle> งาน> ติดตั้ง> ถอนการติดตั้งทั้งหมด

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


1
มันใช้งานได้สำหรับฉัน ขอบคุณ.
Malwinder Singh

มันก็ใช้ได้กับฉันเช่นกัน แต่ทำไมปัญหาเกิดขึ้นและuninstallAllจะแก้ไขได้อย่างไร ขอบคุณ
LiuWenbin_NO

ทำงานให้ฉันด้วย!
Fluffy T Rex

นี่ควรเป็นคำตอบที่ถูกต้อง! ที่ดีที่สุดและมีประสิทธิภาพ
HatemTmi

27

ฉันมีข้อผิดพลาดเดียวกันหลังจากเปลี่ยนชื่อ / refactoring สิ่งที่ฉันทำคือเพิ่มapplicationIdคุณสมบัติของคุณสมบัติไปยังไฟล์ build.gradle ของฉันและตั้งค่าเป็นแอปพลิเคชันแพ็คเกจ

ในbuild.gradle :

android {
defaultConfig {
    applicationId "com.example.myapp"  
  }
}

โปรดอธิบายวิธีเพิ่มแอปพลิเคชัน ID ลงใน buidl.gradle!
realtebo

คุณสามารถเพิ่ม ID แอปพลิเคชันไปยังการตั้งค่าโมดูลของแอปพลิเคชันเป็นทางเลือก
Michael Kern

19

ลองเปลี่ยนชื่อของกิจกรรมในAndroidManifest.xmlไฟล์ของคุณ

ตอนนี้มันพูดว่า:

<activity android:name="LandingActivity" >

ลองเพิ่มจุดในช่วงต้นของชื่อกิจกรรม:

<activity android:name=".LandingActivity" >

หรือเพิ่มชื่อแพ็กเกจไปยังจุดเริ่มต้นของชื่อกิจกรรม:

<activity android:name="com.trackingeng.LandingActivity" >

อาจเป็นปัญหาที่ชื่อแพคเกจของคุณมีเพียงสองคอมโพเนนต์คั่นด้วยจุด (ชื่อแพ็กเกจของคุณคือ "com.trackingeng"; ชื่อแพ็กเกจมาตรฐานจะเป็น "com.trackingeng.app")


2
@Siavash ยกเว้นว่าไม่ใช่ Correct ™
dcow

2
อย่างไร @dcow? คำตอบที่ยอมรับได้ที่นี่ใช้ไม่ได้สำหรับฉัน แต่อันนี้ใช้ได้
Siavash

อันไหน? เพิ่มจุดหรือชื่อ 3 ระดับ?
realtebo

15

ทำตามขั้นตอนด้านล่างไปที่การตั้งค่ามือถือ> แอพ> แอพของคุณ> เพิ่มเติม> กดถอนการติดตั้งแอพสำหรับผู้ใช้ทั้งหมด

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

สนุก:


ฉันคิดว่าคำตอบที่เลือกควรเพิ่มสิ่งนี้เช่นกัน นี่คือสิ่งที่เหมาะกับฉัน
jasxir

13

ฉันคิดว่าอีกสาเหตุที่ทำให้เกิดปัญหาคือมันไม่ได้ถูกลบอย่างสมบูรณ์สำหรับผู้ใช้ทั้งหมดในอุปกรณ์

ไปที่การตั้งค่า -> แอพ -> แอพของคุณ -> คลิกที่ 3 จุดด้านบนขวา -> ถอนการติดตั้งสำหรับผู้ใช้ทั้งหมด

มันใช้งานได้สำหรับฉัน มันเกิดขึ้นโดยเฉพาะอย่างยิ่งคุณเปลี่ยนไอคอนของแอพหรือเล่นกับไฟล์ AndroidManifest.xml


1
ฉันไม่อยากจะเชื่อเลยว่าสิ่งนี้ได้ผล ฉันมี 2 บัญชีในอุปกรณ์ของฉันและได้รับการติดตั้งสำหรับผู้ใช้รายอื่น
StarWind0

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

12

สำหรับฉันปัญหาคือว่าAndroidStudio คิดว่าแอปยังคงอยู่ในอุปกรณ์

วิธีแก้ไข:

  1. รีสตาร์ทadbdaemon ; ในเทอร์มินัลหรือพรอมต์คำสั่งให้ป้อน:

    adb kill-server
    adb start-server
  2. ลองเปิดแอพของคุณ

  3. หากยังใช้งานไม่ได้ให้ตรวจสอบคำตอบนี้

ตรวจสอบให้แน่ใจว่ามีplatform-toolsการเพิ่มAndroid SDKในตัวแปรพา ธ ระบบของคุณ!


11

ในกรณีของฉันฉันถอนการติดตั้งแอปพลิเคชันจากโทรศัพท์หลังจากนั้นปัญหาก็เริ่มขึ้น แต่คำสั่งด้านล่างใช้งานได้สำหรับฉัน

ดำเนินการคำสั่งด้านล่างใน terminal / cmd

adb uninstall <package_name>

package_name ชื่อเช่น com.example.applicationname จากนั้นลองติดตั้งแอปพลิเคชันใหม่ มันควรจะทำงาน


1
สิ่งนี้ใช้ได้ผลสำหรับฉันเนื่องจากฉันได้ติดตั้ง apk ผ่าน adb ไว้ก่อนหน้านี้ แต่การถอนการติดตั้งผ่านตัวจัดการแอพของโทรศัพท์นั้นทิ้งร่องรอยของแอพเอาไว้
dekaru

9

สำหรับฉันบน Android 6 เมื่อฉันถอนการติดตั้งแอปจริง ๆ แล้วมันก็ปิดการใช้งานแทนที่จะถูกลบออกจากอุปกรณ์

การตั้งค่า> แอพ> คลิกที่แอพและถอนการติดตั้ง

นี้แก้ไขให้ฉัน


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

9

คำสั่งด้านล่างใช้ได้สำหรับฉัน บางครั้งการถอนการติดตั้งแอพบางครั้งก็เป็นสาเหตุ

ดำเนินการคำสั่งด้านล่างใน terminal / cmd

adb uninstall <package_name>

จากนั้นลองติดตั้งแอปพลิเคชันใหม่ มันควรจะทำงาน


7

ได้รับการเตือนว่าหากคุณตั้งค่าหลายโปรไฟล์บนอุปกรณ์แอปของคุณอาจมีอยู่แล้วในหนึ่งในโปรไฟล์อื่น ๆ

การถอนการติดตั้งแอพจาก Profiles ทั้งหมดแก้ไขปัญหาให้ฉันได้


6

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


ทำงานให้ฉัน LG G6 มี "คุณสมบัติ" เหมือนกัน - ฉันไม่พบวิธีปิดใช้งาน
Cililing

6

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


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

ฉันเจอปัญหาเดียวกันและอาจมีการปรับปรุงคำตอบด้วยวิธีนี้เช่นกัน
Panduka DeSilva

ข้อผิดพลาดนี้เกิดขึ้นกับฉันเมื่อฉันกำหนดค่าบิลด์หลายประเภทในโครงการของฉัน
ราหุล Rastogi

6

ฉันใช้ Android Studio 3.2 Beta 5 ต้องเผชิญกับปัญหาเดียวกัน

ไปที่

File -> Invalidate Caches / Restart...

แก้ไขปัญหาให้ฉันแล้ว


6

เมื่อฉันได้รับปัญหานี้ฉันจะลองใช้วิธีแก้ปัญหานี้เสมอ

Instant Run disable 

Build -> Clean Project

File -> Invalidate Caches / Restart

แต่ฉันพบข้อยกเว้นครั้งนี้ วิธีนี้ไม่ได้ผลสำหรับฉัน จากนั้นฉันก็พบว่าปัญหาคือเงินสดจำลอง ฉันเพิ่งทำWipe dataและCold boot nowปัญหาได้รับการแก้ไขแล้ว

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


5

ในกรณีที่ทุกคนพบปัญหาของฉันและไม่มีโชคกับโซลูชันอื่น ๆ ... ฉันพยายามเริ่มกิจกรรมผ่าน adb สำหรับ FireTV ในขณะที่การดีบักการรวมตัวเรียกใช้ของ Amazon อย่างไรก็ตามโครงการของฉันมีรุ่นบิลด์ต่างกัน 60 แบบ (หลายแพลตฟอร์มหลายแอป) และ ApplicationId ไม่ตรงกับ classpath ใด ๆ เนื่องจากแพ็คเกจรันไทม์ (และคลาสพา ธ ) แตกต่างจาก applicationId

ฉันพยายามวิ่ง adb shell am start -n com.myappid.example.packageone.packagetwo/com.myappid.example.packageone.packagetwo.MySplashActivity

(แน่นอนฉันได้ลองชุดค่าผสมหลายชุดด้วยcom.runtimepath.example เนื่องจากฉันมีความท้าทายเพิ่มเติมของรหัสแอพพลิเคชั่นที่แตกต่างกันใน build.gradle และอีกชุดในรันไทม์)

สิ่งที่ช่วยได้ในที่สุดก็คือโพสต์นี้https://stackoverflow.com/a/36255727/5970652

ซึ่งเผยรูปแบบที่แตกต่าง! com.myappid.example/com.runtimepath.example.packageone.packagetwo.MySplashActivity

ดังนั้นหากคุณมี runtime classpath อื่นลองระบุด้วย build.gradle applicationId ก่อนเครื่องหมายทับและ runtime classpath ในภายหลัง

นอกจากนี้คุณยังสามารถรับค่าเหล่านี้จากBuildConfig.APPLICATION_IDและthis.getLocalClassName()ตามลำดับหากคุณต้องการบันทึกใน logcat


1
นี่เป็นปัญหาของฉันอย่างแน่นอน! ฉันผิดหวังเป็นระยะเวลาหนึ่ง แต่เมื่อฉันใส่ชื่อแพคเกจแอปก่อนสแลชและชื่อแพ็กเกจ / คลาสที่ผ่านการรับรองหลังจากสแลชทำงาน
ชาดชูลทซ์

4

แม้ว่าฉันจะมีปัญหาเดียวกัน แต่ไม่มีวิธีการแก้ปัญหาข้างต้นสำหรับฉัน ปัญหาคือว่าฉันได้แข็งแอพเฉพาะที่ฉันพยายามเรียกใช้ผ่าน Titanium Backup เนื่องจากที่ฉันได้รับข้อผิดพลาดข้างต้น ฉันลองทั้งใน Eclipse และ Android Studio

หลังจากการรับรู้ฉันเพียงแค่ถอนการติดตั้งแอพและวิ่งอีกครั้ง

แก้ไขปัญหา :-)


4

ฉันต้องการแบ่งปันเคล็ดลับที่ช่วยในกรณีของฉัน ฉันถอนการติดตั้งแอปพลิเคชันออกจากอุปกรณ์และไม่มีการดำเนินการรีสตาร์ท clean / rebuild / Android Studio อีกต่อไปไม่ได้ช่วยอะไร

เนื่องจาก Android Studio คิดว่าแอปพลิเคชันยังคงติดตั้งบนอุปกรณ์และไม่ได้ปรับใช้คุณสามารถบังคับให้ติดตั้งโดยใช้ ADB:

adb install -r <your_application_from.apk>

โดยที่-rติดตั้งแอพใหม่อีกครั้งโดยเก็บข้อมูลไว้


นี่เป็นสิ่งเดียวที่ใช้ได้ผลสำหรับฉันขอบคุณ!
Hugo

4

ฉันมี Samsung Galaxy การค้นหาในการตั้งค่าด้านบนใช้งานไม่ได้เพราะไม่ปรากฏในการตั้งค่าแอพของฉัน

ฉันพบแอปพลิเคชันในโทรศัพท์ของฉันโดยพิมพ์ชื่อแอปในช่องค้นหา ฉันรู้ว่ามันอยู่ในโปรไฟล์ "ทำงาน" (โดยใช้ Mobile @ Work) และลบออก คุณสามารถค้นหาการตั้งค่าสำหรับโปรไฟล์ได้โดยไปที่การตั้งค่า -> โปรไฟล์การทำงาน -> แอพ

ฉันหวังว่านี่จะช่วยให้ใครบางคนที่ไม่สามารถหาคำตอบได้เหมือนกันกับคำตอบอื่น ๆ ที่ระบุไว้ในการตั้งค่า


1
OMG ขอบคุณชายคุณช่วยชีวิตฉันไว้ ปัญหาเดียวกันกับ fckn samsung
Peter

4

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

เพียงไปที่ gradle> งาน> ติดตั้ง> ถอนการติดตั้งทั้งหมด

นี่คือลิงค์: ประเภทข้อผิดพลาด 3: ไม่มีกิจกรรมคลาส {... }


4

ติดตั้งแอปพลิเคชันบางครั้งบนผู้ใช้ของผู้เยี่ยมชมบนมือถือของคุณดังนั้นลองสลับผู้เยี่ยมชมและถอนการติดตั้งแอปพลิเคชัน

นอกจากนี้ให้ลองเรียกใช้คำสั่งต่อไปนี้เพื่อถอนการติดตั้งแพคเกจถอนการติดตั้งแอปพลิเคชัน adb "ชื่อแพ็คเกจของคุณ"


3

ฉันยังประสบปัญหาเดียวกันในอดีต ปัญหาดังกล่าวเกิดขึ้นจริงเมื่อเราทำการ refactoring เช่น - เปลี่ยนชื่อย้ายไฟล์ภายในโครงการ ฯลฯ การเปลี่ยนชื่อและย้ายไฟล์ต้องการการเปลี่ยนแปลงในไฟล์ gradle ดังนั้นเมื่อใดก็ตามที่คุณเปลี่ยนชื่อหรือย้ายบางไฟล์เพียงล้างโครงการ:

สร้าง -> โครงการใหม่ทั้งหมด

การทำความสะอาดโครงการเพียงแค่ลบไฟล์. classและคอมไพล์โครงการใหม่ โดยทั่วไปจะบังคับให้สร้างโครงการใหม่

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

หมายเหตุ: - เมื่อใดก็ตามที่คุณมีข้อผิดพลาดอย่าเพิ่งไปที่ google ทำความสะอาดโครงการหากวิธีนี้ไม่ได้ผลให้ทำตามที่คุณต้องการใน google


3

ฉันมีปัญหาเดียวกันและฉันแก้ไขมัน refactoring ตัวเรียกใช้กิจกรรมของฉันเพียงแค่เปลี่ยนชื่อคลาสและใช้งานได้


3

ฉันเผชิญกับปัญหาที่คล้ายกันโปรดทำตามขั้นตอนด้านล่าง
มันจะช่วยให้คุณ:

1- ทำความสะอาดโครงการของคุณ
2- ลบไดเรกทอรีสำหรับสร้างของคุณ
3- รีสตาร์ท Android Studio
4- สร้างโครงการ
5- มันจะทำงานได้สำเร็จ

ขอบคุณ


3

ฉันมี LG Stylus และในโทรศัพท์ทดสอบของฉันแอปพลิเคชันจะไม่ถูกลบอย่างถาวร ในการตั้งค่า -> แอปพลิเคชันฉันพบแอพดีบั๊ก (ซึ่งฉันลองติดตั้งและดีบักโดย AS) ด้วยคำสั่งปิดการทำงาน เมื่อฉันลบแอพออกจากโทรศัพท์ข้อผิดพลาดจะหายไป


ดูเหมือนจะไม่ใช่คำตอบสำหรับฉัน
mpaskov

3

ในกรณีของฉันมีเหตุผลต่อไป:

ฉันมีผู้ใช้ 2 คน: ฉันและแขก และแอปได้รับการติดตั้งบนทั้งคู่ แต่ถูกลบในตอนแรก

เมื่อฉันเปลี่ยนไปที่หน้าจอผู้เยี่ยมชมและลบแอปออกจากที่นั่นแอปที่ติดตั้งก็โอเค

หวังว่านี่จะช่วยใครซักคน :)

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