2014-12-20 4 views
1

아래에서 볼 수 있듯이 적절한 .java 파일이 있고 내 매니페스트에 선언 된 경우에도 내 MainActivity를 찾을 수 없어 앱을 시작할 수 없습니다.안드로이드 ClassNotFoundException 주 활동에 대한

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name="com.rakeshdas.smsblocker.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

편집 로그 캣 아래이며, 그것이 클래스 MainActivity 찾을 수 있다고 말한다 :

--------- beginning of crash 
12-19 19:43:01.184  931-931/com.rakeshdas.smsblocker E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.rakeshdas.smsblocker, PID: 931 
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.rakeshdas.smsblocker/com.rakeshdas.smsblocker.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.rakeshdas.smsblocker.MainActivity" on path: DexPathList[[zip file "/data/app/com.rakeshdas.smsblocker-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
     at android.app.ActivityThread.access$800(ActivityThread.java:144) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     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:898) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.rakeshdas.smsblocker.MainActivity" on path: DexPathList[[zip file "/data/app/com.rakeshdas.smsblocker-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] 
     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
     at android.app.Instrumentation.newActivity(Instrumentation.java:1065) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
     at android.app.ActivityThread.access$800(ActivityThread.java:144) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     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:898) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 
Suppressed: java.lang.NoClassDefFoundError: com.rakeshdas.smsblocker.MainActivity 
     at dalvik.system.DexFile.defineClassNative(Native Method) 
     at dalvik.system.DexFile.defineClass(DexFile.java:226) 
     at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219) 
     at dalvik.system.DexPathList.findClass(DexPathList.java:321) 
     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54) 
     ... 14 more 
Suppressed: java.lang.ClassNotFoundException: com.rakeshdas.smsblocker.MainActivity 
     at java.lang.Class.classForName(Native Method) 
     at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
     at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
     ... 13 more 
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 
+1

매니페스트는 괜찮아 보인다! 액티비티가 해당 패키지 (대소 문자 구분)에 정의되어 있으면 확실히 작동해야합니다. – rupps

+0

예, 패키지의 activity.java의 이름이'MainActivity.java'로 바뀌 었습니다. 그래서 이것이 제대로 작동하지 않는 이유가 확실하지 않습니다. – rakeshdas

+1

해당 폴더 위치에서 MainActivity가 실제로 위치합니까? com> rakeshdas> smsblocker? – Broak

답변

0

이해볼 가치가 될 수 있습니다.

<manifest xmlns:android="http://schemas.andrwoid.com/apk/res/android" 
    package="com.rakeshdas.smsblocker"> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".MainActivity" 
      ... 

그렇지 않으면 문제의 원인이 다른 곳에서 발생할 수 있습니다.

+0

시도했지만 불행히도 작동하지 않았습니다. 위의 logcat을 추가하여 더 많은 컨텍스트를 추가했습니다. – rakeshdas

0

1) 프로젝트 닫기

2) 다시 시작

+1

Android Studio를 사용하고 있으며 프로젝트를 닫고 AS를 다시 시작한 다음 프로젝트를 열고 다시 Gradle과 동기화하여 동일한 출력 – rakeshdas

+0

이 작업이 저에게 효과적이었습니다. – Pratswinz

0

이 XML 작성된 행을 확인하시기 바랍니다 도움이 될

3) 프로젝트 열기

4) 클린 프로젝트

일식 아래에 상단이 있는지 여부

<?xml version="1.0" encoding="utf-8"?>