2013-08-30 4 views
6

У меня возникла эта ошибка во время работы на моем устройстве. Я просматривал эту проблему, и я уверен, что у меня нет таких же проблем, как упоминалось. Обе мои действия объявлены в AndroidManifest, и фильтр намерений существует. У меня нет библиотек вообще (кроме библиотеки поддержки v4, но объявление ее не меняет проблемы). Я попытался заменить в моем манифесте carpedujourproductions.quickpronote.MainActivity на .MainActivity, но все равно не повезло. Я запускаю Android Studio 0.2.5, поэтому я не мог найти, как решить потенциальные проблемы, связанные с Java Build Path/Order and Exportjava.lang.RuntimeException: Невозможно создать экземпляр активности ComponentInfo/java.lang.ClassNotFoundException

Я не мог не заметить, что на моем значке MainActivity на дереве был серый крест в верхнем левом углу.

Logcat:

E/AndroidRuntime: FATAL EXCEPTION: main 
     java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{carpedujourproductions.quickpronote/carpedujourproductions.quickpronote.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "carpedujourproductions.quickpronote.MainActivity" on path: DexPathList[[zip file "/data/app/carpedujourproductions.quickpronote-2.apk"],nativeLibraryDirectories=[/data/app-lib/carpedujourproductions.quickpronote-2, /vendor/lib, /system/lib]] 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2157) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2281) 
     at android.app.ActivityThread.access$600(ActivityThread.java:148) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1263) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:137) 
     at android.app.ActivityThread.main(ActivityThread.java:5124) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:525) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
     at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:110) 
     at dalvik.system.NativeStart.main(Native Method) 
     Caused by: java.lang.ClassNotFoundException: Didn't find class "carpedujourproductions.quickpronote.MainActivity" on path: DexPathList[[zip file "/data/app/carpedujourproductions.quickpronote-2.apk"],nativeLibraryDirectories=[/data/app-lib/carpedujourproductions.quickpronote-2, /vendor/lib, /system/lib]] 
     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
     at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 
     ... 12 more 

Не стесняйтесь просматривать код here для AndroidManifest, MainActivity.java, FirstRun.java и т.д.

+0

Это может быть проблема сборки Eclipse при обновлении файлов проекта. См. [Здесь] (http://stackoverflow.com/a/20421764/2554058) для возможного решения. – user2554058

ответ

3

Ваш MainActivity.java исключен из компиляции, поэтому этот класс ISN» t включен в .apk. Удалить строку:

<file url="file://$PROJECT_DIR$/src/carpedujourproductions/quickpronote/MainActivity.java" /> 

excludeFromCompile из секции файла .idea/compiler.xml (или вы можете сделать это в настройках IDE).

+0

Спасибо! У меня есть другие (незначительные) ошибки, но вы спасли меня на этом! –

2

Эта ошибка может быть поднята с несколькими причинами, поскольку мой опыт я раскрываю два из них.

  • если у нас есть некоторые строки кода в файлах ресурсов, которые вставляются SVN-клиентом, такие как smartSVN или черепаха.

    <<<<<<< .mine 
        <string name="pathConfiguration">http://jorgesys/app/config_development.xml</string> 
    =======  
    
    >>>>>>> .r124 
    

    < < < < < < < .mine

    , что удаление символов:

    <string name="pathConfiguration">http://jorgesys/app/config_development.xml</string> 
    
  • В файле .classpath добавить строку

    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> 
    

это пример:

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> 
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> 
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> 
    <classpathentry kind="src" path="gen"/> 
    <classpathentry kind="output" path="bin/classes"/> 
</classpath> 

Сейчас он работает! =)

это исправить исключение

2

Я была такая же проблема. Очистка проекта должна сделать трюк

1

Если вы добавляете дополнительные библиотеки в свой проект, вам необходимо экспортировать их с вашим проектом в случае исключения некоторых классов.

щелкните правой кнопкой мыши свой проект и перейдите в раздел «Свойства». Нажмите Java Build Path на левой панели и перейдите на вкладку Order and Export. Возможно, вам понадобится проверить сторонние библиотеки, чтобы добавить их для создания пути и экспорта в apk.Также обратите внимание на то, что заказ библиотек также важны, а верхние - это более высокие свойства, которые они имеют при построении apk.

1

Я только что изменил

compileOptions{ 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
} 

в

compileOptions{ 
    sourceCompatibility JavaVersion.VERSION_1_7 
    targetCompatibility JavaVersion.VERSION_1_7 
} 

и он работал как шарм .....

0

Это работает для меня: Добавить это в вашем классе Aplication.

@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(getBaseContext()); 
} 
Смежные вопросы