[java] Android ClassNotFoundException : 경로에서 클래스를 찾지 못했습니다.

10-22 15:29:40.897: E/AndroidRuntime(2561): FATAL EXCEPTION: main
10-22 15:29:40.897: E/AndroidRuntime(2561): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.gvg.simid/com.gvg.simid.Login}: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.os.Looper.loop(Looper.java:137)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread.main(ActivityThread.java:5103)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at java.lang.reflect.Method.invokeNative(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at java.lang.reflect.Method.invoke(Method.java:525)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at dalvik.system.NativeStart.main(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
10-22 15:29:40.897: E/AndroidRuntime(2561):     ... 11 more

매니페스트에 올바르게 나열되어 있기 때문에 원인이 무엇인지 잘 모르겠습니다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.gvg.simid"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.READ_OWNER_DATA" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <uses-feature android:name="android.hardware.usb.host" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.gvg.simid.Login"
            android:label="@string/app_name"
            android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

또한 경로를 빌드하기 위해 “Android Private Libraries”를 추가하고 “Order and Export”맨 위로 이동했지만 여전히 동일한 오류가 발생했습니다.

편집 : 프로젝트를 완전히 다시 빌드하고 오류를 재현 할 수 없습니다. 원인이 무엇인지 확실하지 않습니다.



답변

내 프로젝트에 동일한 문제가있었습니다. 내 프로젝트와 내 프로젝트에 추가 한 라이브러리 프로젝트 간의 Android 지원 라이브러리 버전 충돌로 인해 발생했습니다. 포함 된 프로젝트와 라이브러리 프로젝트에 동일한 버전의 Android 지원 라이브러리를 넣고 빌드를 정리합니다 . 모든 것이 작동합니다 …


답변

이 다음 방법이 저에게 효과적이었습니다.

  • 귀하의 project 하고properties
  • “속성”패널이 열립니다. 왼쪽 메뉴에서Java Build Path ->Order and Export
  • 아래 목록에서 옆에있는 상자를 선택 취소하십시오. "Android Dependencies"
  • 마지막으로 clean your project실행


답변

Android Studio 에서이 문제를 겪고 계신 분들에게는 병합 후에도 동일한 문제가 발생했으며 어떤 이유로 든 지속 clean되고 invalidate cash/restart작업이 나를 미치게 만들었습니다.

결과적으로 명령 줄에서 gradle build를 한 번 실행하여 해결할 수 있습니다. 프로젝트 디렉토리에서 다음 n을 실행하기 만하면됩니다.

./gradlew assemble clean
./gradlew assemble

내가 겪어야했던 시간 낭비와 좌절을 누군가에게 구할 수 있기를 바랍니다.


답변

나는 같은 문제가 있었고 이것은 나를 위해 일했습니다.

1) 상대 경로 대신 메인 페스트의 전체 활동 경로.

2) ‘build’폴더를 삭제하고 프로젝트를 정리합니다.


답변

Eclipse를 사용하는 경우 Project-> Clean을 시도하십시오.


답변

Library ProjectAndroid 프로젝트에 새 모듈을 추가하고 Kotlin라이브러리에서 사용중인 경우 추가하는 것을 잊지 마십시오.

apply plugin: 'kotlin-android'

모듈의 Gradle 파일 맨 위에. Android Studio는 새 모듈을 만들 때이 줄을 추가하지 않으므로 저처럼 시간을 낭비 할 수 있습니다.

편집 : 잠시 후이 문제로 다시 고생했고 이번에는 모듈을 프로젝트에 대한 종속성으로 추가하는 것을 잊었습니다. 🙂


답변

이것은 우리가 APP의 빌드 경로를 변경하면 발생하며, 이는 라이브러리 또는 .jar 파일 추가 또는 제거 또는 변경의 경우에 발생할 수 있습니다. 가장 좋은 해결책은 Eclipse다시 시작하는 것입니다.