我在设备上运行时遇到此错误。我一直在浏览这个问题,我很确定我没有提到的问题。我的两个活动都在AndroidManifest中声明,而intent过滤器就在那里。我没有任何库(除了v4支持库,但声明它不会改变问题)。我尝试用carpedujourproductions.quickpronote.MainActivity
替换我的Manifest .MainActivity
,但仍然没有运气。我正在运行Android Studio 0.2.5,所以我找不到如何解决与Java Build Path / Order and Export相关的潜在问题
我忍不住注意到我的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
随意浏览AndroidManifest,MainActivity.java,FirstRun.java等代码here。
答案 0 :(得分:3)
您的MainActivity.java
被排除在编译之外,因此该类不包含在.apk中。删除行:
<file url="file://$PROJECT_DIR$/src/carpedujourproductions/quickpronote/MainActivity.java" />
来自excludeFromCompile
文件的.idea/compiler.xml
部分(或者您可以从IDE设置执行此操作)。
答案 1 :(得分:2)
这个错误可能会因多种原因而引发,根据我的经验,我会暴露其中两个。
如果我们在SVN Client插入的资源文件中有一些代码行,比如smartSVN或tortoise。
<<<<<<< .mine
<string name="pathConfiguration">http://jorgesys/app/config_development.xml</string>
=======
>>>>>>> .r124
&LT;&LT;&LT;&LT;&LT;&LT;&LT; .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 :(得分:2)
我遇到了同样的问题。清理项目应该可以解决问题
答案 3 :(得分:1)
如果您在项目中添加其他库,则需要将其与项目一起导出,以防某些类被排除。
右键单击您的项目并转到“属性”。点击左侧面板上的Java Build Path
,然后导航至Order and Export
标签。您可能需要检查第三方库,以便将它们添加到构建路径并将它们导出到apk。另请注意,lib的顺序也很重要,它们在构建apk时具有更高的属性。
答案 4 :(得分:1)
我刚刚改变了
compileOptions{
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
到
compileOptions{
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
它就像一个魅力......