java.lang.ClassNotFoundException: ไม่พบคลาสบนเส้นทาง: dexpathlist


140

ขณะนี้ฉันกำลังทำงานในโครงการที่ฉันต้องใช้ ndk ดั้งเดิม มันทำงานได้เมื่อฉันลองใช้ตัวอย่าง helloworld จากแหล่งเครื่องยนต์ของ Irrlicht จากนั้นฉันลองใช้มันในโครงการของฉันตามรูปแบบเดียวกันของตัวอย่างนั้น แต่ฉันได้:

03-14 01:40:05.308: E/AndroidRuntime(799): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.irrlicht.example1/android.app.POMActivity}: java.lang.ClassNotFoundException: Didn't find class "android.app.POMActivity" on path: DexPathList[[zip file "/data/app/com.irrlicht.example1-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.irrlicht.example1-2, /system/lib]]

ในขณะที่เรียกใช้โครงการของฉัน

นี่คือไฟล์ main.cpp ของฉัน:

#include <android/log.h>
#include <jni.h>
#include <android_native_app_glue.h>
#include "android_tools.h"
#ifdef _IRR_ANDROID_PLATFORM_
void android_main(android_app* app)
{
__android_log_print(4 , "pom" , "nothing");
}

endif #

ใน Android.mk:

LOCAL_PATH := $(call my-dir)/..
IRRLICHT_PROJECT_PATH := $(LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := Irrlicht
LOCAL_SRC_FILES := /home/karthik/Android/Essentials/ogl-es/lib/Android/libIrrlicht.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := HelloWorldMobile1
LOCAL_CFLAGS := -D_IRR_ANDROID_PLATFORM_ -pipe -fno-exceptions -fno-rtti -fstrict-aliasing
LOCAL_C_INCLUDES := -I ../../include -I /home/karthik/Android/Essentials/ogl-es/include -I /home/karthik/Android/json/jsoncpp-src-0.5.0/libs/linux-gcc-4.8 -I /home/karthik/Android/json/jsoncpp-src-0.5.0/include/json 
LOCAL_SRC_FILES :=  android_tools.cpp main.cpp
LOCAL_LDLIBS := -lEGL -llog -lGLESv1_CM -lGLESv2 -lz -landroid -ldl 
LOCAL_STATIC_LIBRARIES := Irrlicht android_native_app_glue
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)

และฉันได้ให้ชื่อกิจกรรมใน AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.irrlicht.example1"
    android:versionCode="1"
    android:versionName="1.0">
...
<application android:icon="@drawable/irr_icon" android:label="HelloWorldMobile1" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:debuggable="true">
        <activity android:name="android.app.POMActivity"
        android:label="HelloWorldMobile1"
        android:launchMode="singleTask"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait"
        android:clearTaskOnLaunch="true">
        <meta-data android:name="android.app.lib_name" android:value="HelloWorldMobile1" />                     

ฉันกำลังทำอะไรผิดที่นี่? ฉันจะโพสต์รหัสเต็มถ้าจำเป็น


1
คุณใช้ไฟล์ jar ภายนอกหรือไม่?
Siddharth_Vyas

@SiddharthVyas ไม่ฉันไม่ได้ใช้ไฟล์ jar ภายนอกในเรื่องนี้
Karthik Sivam

1
แอปพลิเคชันของคุณมีหลาย dexed หรือไม่ ถ้าเป็นเช่นนั้นนั่นจะอธิบายปัญหา
IgorGanapolsky

เมื่อฉันได้เซ็น apk ข้อผิดพลาดนี้ไม่ได้เกิดขึ้น เพิ่ง debug
j2emanue

คุณพบวิธีแก้ปัญหาการทำงานหรือไม่?
Benobab

คำตอบ:


84

ฉันลองตัวเลือกที่เป็นไปได้ทั้งหมด แต่ผลลัพธ์จะเป็นศูนย์ ในที่สุดฉันก็พบทางออกที่ถูกต้องซึ่งมีประโยชน์สำหรับฉัน เพียงแค่ไปที่ปิดการใช้งานทันทีเรียกไปที่File -> Settings -> รูปร่าง, การดำเนินการปรับใช้ -> ทันที Run -> ยกเลิกการเลือกช่องสำหรับการทำงานทันที เรียกใช้แอปของคุณหนึ่งครั้งและไฟล์ apk นี้ทำงานอย่างถูกต้อง ..


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

2
ฉันค้นหาคำตอบนี้มาหลายวันหลายสัปดาห์แล้ว! แม้ว่าจะไม่สำคัญปัญหานี้ก็อยู่ที่ด้านหลังของใจของฉันไม่ให้ความสงบสุขกับฉัน ไม่เคยคิดเลยว่าการวิ่งแบบทันทีทันใดเป็นสิ่งที่ทำให้เกิดสิ่งนี้ แอปของฉันทำงานได้ดีเมื่อเปิดตัวผ่าน adb แต่ก็ขัดข้องกับการคาดหวังรันไทม์ ClassNotFound เสมอเมื่อติดตั้งด้วยตนเองผ่าน apk
Răzvan Barbu

5
นั่นไม่ใช่ทางออกสำหรับฉัน ฉันปิดการใช้งานทันที
Terranology

หลังจากปิดการใช้งานตัวเลือก โปรดรีสตาร์ทสตูดิโอ Android ของคุณ
Ashik Abbas

ฉันไม่รู้ว่าทำไมการวิ่งแบบฉับพลันนั้นเป็นตัวการ แต่มันก็เป็นเรื่องจริงขอบคุณผู้ชาย
KingKongCoder

63

ฉันมีปัญหาที่คล้ายกันนี่คือวิธีการแก้ปัญหาของฉัน:

  1. คลิกขวาที่โครงการของคุณและเลือกProperties
  2. เลือกJava Build Pathจากเมนูด้านซ้าย
  3. เลือกแท็บสั่งซื้อและส่งออก
  4. จากรายการที่ทำให้แน่ใจว่าห้องสมุดหรือขวดภายนอกที่คุณเพิ่มเข้าไปในโครงการของคุณได้รับการตรวจสอบ
  5. ในที่สุดทำความสะอาดโครงการของคุณ & รัน

นอกจากนี้คุณยังสามารถตรวจสอบนี้คำตอบ


1
นี่เป็นคำตอบที่ถูกต้องสำหรับคำถาม ฉันได้ทดสอบสิ่งนี้กับเกม libgdx ของฉันด้วยข้อผิดพลาดเดียวกับที่พบข้างต้น ฉันพบข้อผิดพลาดเหล่านี้โดยใช้บันทึกที่สร้างขึ้นด้วยโทรศัพท์ของฉัน (samsung galaxy S6) เมื่อฉันใช้วิธีแก้ไขปัญหานี้ปัญหาทั้งหมดของฉันจะได้รับการแก้ไข

25
ฉันไม่พบอสังหาริมทรัพย์จากการคลิกขวาของโครงการ อาจจะเป็นฉันโง่ :(
Zin Min

12
ฉันไม่สามารถหาที่พักได้เช่นกันทุกคนจะคิดวิธีนำทางไปยังหน้าเว็บที่ระบุไว้
Skyler

9
นี่เป็นวิธีแก้ปัญหาสำหรับ Eclipse IDE ไม่มีไฟล์ 'project.properties' ที่เป็นค่าเริ่มต้นใน Android Studio มันสามารถสร้างได้

โซลูชันที่ให้นั้นใช้ได้กับ Eclipse IDE เท่านั้น
mnsalim

47

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

<activity android:name="android.app.POMActivity"

แทนที่ด้วย:

<activity android:name=".POMActivity"

หรือ

<activity android:name="com.irrlicht.example1.POMActivity"

31

การลบแอพในอุปกรณ์และการล้างโปรเจ็กต์นั้นเหมาะกับฉัน


2
สิ่งนี้ใช้ได้กับฉันเช่นกันกับการตอบสนองพื้นเมือง ฉันเปิดโฟลเดอร์ android ด้วย Android Studio จากนั้นสร้าง -> โครงการที่สะอาด สร้างใหม่อีกครั้งด้วยreact-native run-android
pinguinos

ทำเช่นเดียวกับความคิดเห็นด้านบนและใช้งานได้! ขอบคุณมาก!
Elegya

24

ฉันควรเข้าใจปัญหาด้วยการเห็น

ข้อผิดพลาด dex

แต่ใช้เวลาครึ่งวันในการแก้ไขปัญหา
ฉันแก้ไขสิ่งนี้โดยทำตามคำแนะนำของหน้านักพัฒนาซอฟต์แวร์ Android: https://developer.android.com/studio/build/multidex.html

ก่อนอื่นให้เพิ่มไฟล์นี้ลงในไฟล์ gradle.build:

defaultConfig {
    ...
    minSdkVersion 14
    targetSdkVersion 21
    ...

    // Enabling multidex support.
    multiDexEnabled true
}

 dependencies {
     compile 'com.android.support:multidex:1.0.0'
 }

จากนั้นขยายคลาสแอปพลิเคชันด้วยMultiDexApplicationคลาสตามคำแนะนำบนลิงก์ด้านบน (หรือประกาศคลาสแอปพลิเคชันในAndroidManifest.xmlหรือแทนที่attachBaseContext()ฟังก์ชันหากไม่สามารถขยายคลาสแอปพลิเคชันได้)

นั่นคือทั้งหมดและจะแก้ไขปัญหา


1
เพิ่มหลาย Dex จะเป็นประโยชน์เฉพาะเมื่อคุณผ่านการ จำกัด จำนวนการอ้างอิง (56k) และมันก็เป็นอย่างมากแน่นอนและมากไม่น่าเชื่อถือก่อนที่จะอมยิ้ม สิ่งนี้ควรใช้เพื่อแก้ไขปัญหาเป็นทางเลือกสุดท้าย
milosmns

สิ่งที่ควรเป็นคำตอบสำหรับคุณ
Akash Bisariya

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

1
ตกลงขอบคุณสำหรับข้อมูลโปรดอัปเดตที่นี่หากคุณพบทางออกที่ดีมันจะเป็นความช่วยเหลือที่ดี
Akash Bisariya

2
เพิ่มบรรทัดในการอ้างอิงข้างต้นทำเพื่อฉัน
gadildafissh

23

เพียงแค่พยายามที่โครงการที่สะอาดและสร้างโครงการ


1
ภายใต้เมนู "สร้าง" เลือกBuild -> Clean Projectจากนั้นBuild -> Rebuild Project
kangkyu

นี่หมายความว่าแอพจะขัดข้องในเครื่องเท่านั้นความผิดพลาดก็เกิดขึ้นในรุ่นที่วางจำหน่ายดังนั้นจึงไม่ใช่วิธีแก้ปัญหา
เดวิด

22

ข้อยกเว้นนี้อาจเกิดขึ้นเมื่อคุณมีมุมมองที่กำหนดเองในเลย์เอาต์ของคุณเช่นนี้:

<com.example.MyView
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

และคุณเปลี่ยนชื่อแพ็กเกจของมุมมองจาก "com.example" เป็นชื่ออื่น แต่คุณลืมเปลี่ยนในเลย์เอาต์เช่นกัน


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


12

ฉันแก้ไขมันโดยใช้: ./gradlew --stopคำสั่งในสถานีสตูดิโอ Android หลังจากดำเนินการคำสั่งนี้แล้วล้างและสร้างโครงการใหม่


11
  1. ลบโฟลเดอร์ bin
  2. เปลี่ยนลำดับของไลบรารี
  3. ทำความสะอาดและสร้างใหม่

ทำงานให้ฉัน


10

สำหรับผู้ที่มี multidex ให้เขียนสิ่งนี้

ภายในbuild.gradle

apply plugin: 'com.android.application'

android {
 defaultConfig {
      multiDexEnabled true
  }
 dexOptions {
        javaMaxHeapSize "4g"
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.android.support:multidex:1.0.1'
}

เขียนคลาสEnableMultiDexเหมือนด้านล่าง

import android.content.Context;
import android.support.multidex.MultiDexApplication;

public class EnableMultiDex extends MultiDexApplication {
    private static EnableMultiDex enableMultiDex;
    public static Context context;

    public EnableMultiDex(){
        enableMultiDex=this;
    }

    public static EnableMultiDex getEnableMultiDexApp() {
        return enableMultiDex;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        context = getApplicationContext();

    }
}

และในการAndroidManifest.xmlเขียนclassNameนี้ภายใน Application tag

 <application
    android:name="YourPakageName.EnableMultiDex"
    android:hardwareAccelerated="true"
    android:icon="@drawable/wowio_launch_logo"
    android:label="@string/app_name"
    android:largeHeap="true"
    tools:node="replace">

วิธีการที่ไม่enableMultiDexส่งผลกระทบต่อ? ในกรณีของฉันjavaMaxHeapSize "4g"ไม่ได้ช่วย
CoolMind

@CoolMind เป็นเพียงคลาสแอปพลิเคชั่นที่ขยายMultiDexApplicationเพิ่ม มีความจำเป็นหากคุณต้องการใช้ multidex
Manohar Reddy เมื่อ

ตกลง. ฉันใช้อย่างใดอย่างหนึ่งMultiDexApplicationหรือattachBaseContext(ดูdeveloper.android.com/studio/build/multidex )
CoolMind

8

ฉันต้องเผชิญกับปัญหานี้หลายครั้งและพวกเขากำลังได้รับการแก้ไขโดยการปิดใช้งานทันทีเรียกใช้


พยายามแก้ปัญหาหลายอย่างสิ่งเล็ก ๆ นี้แก้ปัญหาไม่น่าเชื่อ!
FraK

@FraK ทางออกที่นิยมมากที่สุดมีคำแนะนำนี้ แม้ว่าฉันจะไม่ได้ทำเครื่องหมายเรียกใช้ทันที (หลายปีที่ผ่านมาก็มีการนำข้อบกพร่องมากมาย)
CoolMind

7

เราไม่จำเป็นต้องปรับแต่งแอปพลิเคชันระดับซึ่งทอดตัวMultiDexApplication เราสามารถมีสิ่งนี้แทนได้ในAndroidManifest.xml

<application
android:name="android.support.multidex.MultiDexApplication"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">

และพร้อมกับสิ่งนี้บนbuild.gradle (Module: app)

defaultConfig {
      ...

      // Enabling multidex support.
      multiDexEnabled true
}

dependencies {
     ... 
     compile 'com.android.support:multidex:1.0.2'
}

ขอบคุณ


การเปลี่ยนชื่อแอปพลิเคชันทำงานให้ฉันเมื่อฉันพยายามเรียกใช้แอปบน Android 4.3
h8pathak

6

เมื่อคุณใช้ multidex ให้ลองขยายคลาสแอปพลิเคชันของคุณด้วย MultiDexAppication แทน Application และ override ด้านล่างวิธีนี้จำเป็นสำหรับ Android ที่ต่ำกว่า 5.0 (เพราะ 5.0 ขึ้นไปรองรับ multidex)

@Override
protected void attachBaseContext(Context base)
{
    super.attachBaseContext(base);
    MultiDex.install(BaseApplication.this);
}

และในการพึ่งพาเพิ่มนี้

compile 'com.android.support:multidex:1.0.1'

Applicationเราควรแทนที่วิธีนี้ถ้าเราขยายจาก ทำไมเราควรแทนที่ในกรณีของMultiDexAppication?
CoolMind

4

เพียงแค่เปลี่ยนชื่อโฟลเดอร์ของคุณจากlibไปlibs,

จากนั้นคุณจะเห็นเครื่องหมายข้อผิดพลาดบางอย่างในโครงการของคุณเพื่อแก้ไข rightClick นี้ในโครงการ>

Properties > Java Build Path > libraries :

ลบไลบรารี่ทั้งหมดที่มีเครื่องหมายสีแดงไว้apply > ok >หลังจากนั้น ล้างข้อมูลโครงการของคุณ TADA ดูเวทมนต์ :)


ชื่อโฟลเดอร์เป็น libs เท่านั้น
Killer

4

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


ว้าวฉันมีโครงการ 99% -Kotlin จะทำอย่างไร? :)
CoolMind

คุณช่วยตรวจสอบด้วย Kotlin เวอร์ชั่นที่รองรับ Android Studio ของคุณ มันแค่เดา ลองดู
แฮรี่

ฉันมี AS 3.3.1 และ Kotlin 1.3.21 พวกมันเสถียรล่าสุด ขออภัยฉันคิดว่าโซลูชันทั้งหมดที่อธิบายด้านบนและด้านล่างไม่เหมาะกับสถานการณ์ของฉัน
CoolMind

4

เหตุผลหนึ่งที่เป็นไปได้คือเส้นทางที่ไม่ถูกต้องของกิจกรรมในไฟล์ Apps AndroidManifest.xml ลงทะเบียนกิจกรรมด้วยใน AndroidManifest.xml ของคุณด้วยเส้นทางแบบเต็มเช่นด้านล่าง

<activity android:name="<full_path>.ActivityName" />

3

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

Right click on my main library > 
Properties > 
Android > 
Go to the very bottom of the screen and click (Add) > 
Select my other library that caused the crash >
Apply

ก่อนวิธีแก้ปัญหานี้ฉันใช้ "แก้ไขการตั้งค่าโครงการ" จากภายในไฟล์. java ใน eclipse แต่วิธีนี้ใช้ไม่ได้ดังนั้นฉันต้องเพิ่มด้วยตนเองที่นี่และใช้งานได้


3

ฉันได้รับความผิดพลาดนี้เฉพาะบนอุปกรณ์ Samsung Lollipop และโซลูชันนี้ใช้งานได้สำหรับฉัน

dexOptions {
     preDexLibraries false
}

ฉันโพสต์คำตอบนี้ที่นี่เพราะคำถามนี้เป็นผลการค้นหาอันดับสูงสุดใน Google สำหรับความผิดพลาดนี้และไม่มีคำตอบใด ๆ ที่ได้ผลสำหรับฉัน


มันไม่ได้ช่วยฉัน (Samsung Galaxy S4, Android 5.0.1)
CoolMind

2

วิธีแก้ปัญหาต่อไปนี้ใช้ได้กับฉัน ...

ฉันลองทุกอย่างที่กล่าวถึงข้างต้น แต่ยังไม่ได้เรียกใช้แอปของฉัน ฉันมีแอปตอบสนองพื้นเมืองที่ทำงานบน gradle 4+ และ Android studio รุ่นล่าสุด

ฉันมีปัญหาที่ถ้าฉันเรียกใช้ react-native run-android มันล้มเหลวด้วยปัญหาที่บอกว่ามันไม่สามารถหาคลาส MainApplication ... เช่น ClassNotFoundException

ฉันสามารถแก้ไขปัญหาได้เมื่อฉันอัพเดท gradle.properties เพื่อใช้คอมไพเลอร์ D8

ฉันเพิ่ม:

android.enableD8 = true

เพื่อ gradle ของฉันคุณสมบัติ

รายละเอียดเอกสารที่นี่: https://android-developers.googleblog.com/2017/08/next-generation-dex-compiler-now-in.html


1
Android Studio 3.1+ ใช้ dex complier นี้โดยค่าเริ่มต้น
Lennon Spirlandelli

2

Ashik abbas answer (ปิดใช้งานการเรียกใช้ทันที ) ทำงานให้ฉัน แต่ฉันต้องการการเรียกใช้ทันทีในที่สุดฉันก็พบวิธีแก้ปัญหาที่เป็นประโยชน์สำหรับฉัน เพียงแค่ปิดการใช้งานminifyEnabled ไปที่build.gradle (โมดูล: แอป)ในบล็อกการแก้ปัญหาและปิดการใช้งานminifyEnabled :

debug {
            minifyEnabled false

        }

1

ตามความเข้าใจของฉันฉันได้รับปัญหาหลังจากอัปเดต android studio 2.1 ถึง 2.3 เนื่องจากฟีเจอร์ที่แอปพลิเคชันของฉันจะไม่ทำงานเมื่อฉันคัดลอก apk จากเอาท์พุทและใส่ลงใน sdcard สำหรับปัญหานี้ฉันสร้าง apk จากตัวเลือกบิลด์สร้าง build apk ใน android studio


1

หากคุณเปิดใช้งานminifyEnabledและshrinkResourcesเป็นจริงในไฟล์ gradle แอปของคุณ คุณต้องเพิ่มบรรทัดต่อไปนี้ในproguard-rules.proไฟล์

-keep class com.yourpackage_name. ** {*; }

เนื่องจากการลดขนาดจะถูกลบบางคลาสที่สำคัญในไฟล์ apk ของเรา


นี่ไม่ใช่วิธีที่ดีเพราะจะแยกไฟล์ต้นฉบับทั้งหมดของคุณออกจากการย่อขนาดทรัพยากร ยกเว้นเฉพาะไฟล์ที่จำเป็นจริงๆเท่านั้นมิฉะนั้นคุณจะขยายขนาด apk ของคุณ
Yannick

1

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

 -optimizationpasses 5
        -overloadaggressively
        -repackageclasses ''
        -allowaccessmodification
        -dontskipnonpubliclibraryclassmembers

1

ในกรณีของฉันฉันใช้ไลบรารีเนมสเปซเก่าในขณะที่โครงการของฉันถูกตั้งค่าให้ใช้ androidx one

วิธีแก้คือเปลี่ยนส่วนประกอบหนึ่งที่เหมาะสมที่จะหลบหนีจากห้องสมุดสนับสนุน:android.support.design.widget.BottomNavigationViewcom.google.android.material.bottomnavigation.BottomNavigationView


1

ในกรณีของฉันฉันกำหนดกิจกรรมในและลืมที่จะสร้างใด ๆManifest.xml activityดังนั้นฉันจึงสร้างกิจกรรมและกำหนดมันmanifestและแก้ไขข้อผิดพลาดของฉัน!


0

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


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

0

สำหรับฉันปัญหาปรากฏขึ้นหลังจากที่ฉันสร้าง APK ที่ลงชื่อแล้ว ในการแก้ไขปัญหานั้นฉันได้สร้าง apk ใหม่ดีบั๊กโดยใช้ Run / Build APK หลังจากนั้น Run (cmd + r) จะทำงานอีกครั้งโดยไม่มีข้อผิดพลาดนี้


0

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


0

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

<com.my.app.wrong.package.MyActivity
    android:id="@+id/myActivity"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:paddingTop="16dp"
    android:paddingBottom="8dp"
    android:gravity="left" />
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.