【发布时间】:2013-07-17 15:49:25
【问题描述】:
所以我将一个现有项目导入到 Eclipse 中,但我在让它工作时遇到了很多麻烦。该项目与其他三个库项目一起提供:
google_play_services-lib
捕获活动
纵向二维码
导入项目后,我进入“Java 构建路径”并为所需的 jar 添加了路径:
成功添加所需的 jar 后,我继续访问库。我导入了所有三个需要的库(我是与项目一起提供的),一切都很顺利:
之后,我还确保在导出选项卡下检查了私有库:
导入项目后,我尝试运行它,但它立即崩溃。这是 logcat 文件:
07-17 17:33:36.543: E/AndroidRuntime(25965): FATAL EXCEPTION: main
07-17 17:33:36.543: E/AndroidRuntime(25965): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{si.dvanadva.evanturist/si.dvanadva.evanturist.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "si.dvanadva.evanturist.MainActivity" on path: /data/app/si.dvanadva.evanturist-1.apk
07-17 17:33:36.543: E/AndroidRuntime(25965): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
07-17 17:33:36.543: E/AndroidRuntime(25965): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
07-17 17:33:36.543: E/AndroidRuntime(25965): at android.app.ActivityThread.access$600(ActivityThread.java:141)
07-17 17:33:36.543: E/AndroidRuntime(25965): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
07-17 17:33:36.543: E/AndroidRuntime(25965): at android.os.Handler.dispatchMessage(Handler.java:99)
07-17 17:33:36.543: E/AndroidRuntime(25965): at android.os.Looper.loop(Looper.java:137)
07-17 17:33:36.543: E/AndroidRuntime(25965): at android.app.ActivityThread.main(ActivityThread.java:5041)
07-17 17:33:36.543: E/AndroidRuntime(25965): at java.lang.reflect.Method.invokeNative(Native Method)
07-17 17:33:36.543: E/AndroidRuntime(25965): at java.lang.reflect.Method.invoke(Method.java:511)
07-17 17:33:36.543: E/AndroidRuntime(25965): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-17 17:33:36.543: E/AndroidRuntime(25965): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-17 17:33:36.543: E/AndroidRuntime(25965): at dalvik.system.NativeStart.main(Native Method)
07-17 17:33:36.543: E/AndroidRuntime(25965): Caused by: java.lang.ClassNotFoundException: Didn't find class "si.dvanadva.evanturist.MainActivity" on path: /data/app/si.dvanadva.evanturist-1.apk
07-17 17:33:36.543: E/AndroidRuntime(25965): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
07-17 17:33:36.543: E/AndroidRuntime(25965): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
07-17 17:33:36.543: E/AndroidRuntime(25965): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
07-17 17:33:36.543: E/AndroidRuntime(25965): at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
07-17 17:33:36.543: E/AndroidRuntime(25965): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
07-17 17:33:36.543: E/AndroidRuntime(25965): ... 11 more
从logcat文件中可以看出问题出在'finding MainActivity class'
到目前为止我尝试过的解决方案:
检查 MainActivity 是否在 AndroidManifest 文件中正确声明(它是)
已检查导出选项卡下的私有库
删除 bin 文件夹并清理项目
我还尝试通过不包括包名称来在 AndroidManifest 文件中声明活动,如下所示:android:name=".activityname"
从我的手机中删除了以前版本的应用程序并尝试再次编译
在工作区项目中检查了 si.dvanadva.evanturist-1.apk 但我找不到(我错过了吗?)
this 设置了 JAVA_HOME 但不起作用
启动了一个新的 android 应用项目并在其中复制了文件
也许我还尝试了其他方法,但我忘记提及了,我已经为此工作了很长一段时间,但我已经没有东西可以尝试了。我将非常感谢任何形式的帮助!
【问题讨论】:
-
"/data/app/si.dvanadva.evanturist-1.apk" -- 这是路径吗?
-
MainActivity.class 的路径不同。它是工作区/Evanturist/bin/classes/si/dvanadva/evanturist,这是导致问题的原因吗?
-
路径不应该是目录吗? si.dvanadva.evanturist-1.apk?你检查了吗?
-
我查了一下,我在任何地方都找不到 si.dvanadva.evanturist-1.apk,甚至没有 data/app 目录
-
尝试将文件放在项目文件夹的
src目录中。
标签: java android eclipse import