导入的项目抛出java.lang.ClassNotFoundException

时间:2013-07-17 15:49:26

标签: java android eclipse import

所以我将一个现有的项目导入到eclipse中,我在使用它时遇到了很多麻烦。该项目还有其他三个图书馆项目:

  • google_play_services-lib的

  • CaptureActivity

  • PortraitQR

一旦我导入了项目,我就进入了“Java Build Path”并为所需的jar添加了路径: enter image description here

成功添加所需的罐子后,我继续使用这些库。我导入了所有三个需要的库(我随项目一起提供)并且一切顺利: enter image description here

之后我还确保在导出选项卡下检查私有库: enter image description here

在我完成导入项目后,我试图运行它,但它立即崩溃了。这是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文件中看到问题是'找到MainActivity类'

到目前为止我尝试过的解决方案:

  • 检查是否在AndroidManifest文件中正确声明了MainActivity(它是)

  • 在导出标签下检查私人图书馆

  • 已删除的bin文件夹和已清理的项目

  • 我还尝试通过不包括包名来声明AndroidManifest文件中的活动,如下所示:android:name =“。activityname”

  • 从我的手机中删除了以前版本的应用并尝试重新编译

  • 在工作区项目中检查了si.dvanadva.evanturist-1.apk但我找不到它(我错过了吗?)

  • this是否设置了JAVA_HOME但无法正常工作

  • 开始一个新的Android应用程序项目并在那里复制文件

也许我还尝试了别的东西,但是我忘了提起它,我已经在这方面工作了很长一段时间,而且我已经没事了。我非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

我相当肯定我已经看到过这样的事情,当我没有将代码导入Eclipse,但是试图从其下载的位置运行库,例如对于Google Play游戏服务:

  

从Android示例导入TypeANumber和BaseGameUtils代码   进入你的工作区。要在Eclipse中执行此操作:单击文件>导入>   Android>现有的Android代码进入Workspace。浏览到   您在开发计算机上下载TypeANumber的目录   然后单击“确定”以导入文件。执行相同的步骤   BaseGameUtils。

(我从https://developers.google.com/games/services/android/quickstart获得了这个)

此外,虽然这不适合您的问题:

Google Player Game Service Error: Can't build the sample game