导入的项目抛出java.lang.ClassNotFoundException
因此,我将一个现有的项目导入到eclipse中,使其工作起来有很多困难。该项目还包括三个其他图书馆项目:导入的项目抛出java.lang.ClassNotFoundException,java,android,eclipse,import,Java,Android,Eclipse,Import,因此,我将一个现有的项目导入到eclipse中,使其工作起来有很多困难。该项目还包括三个其他图书馆项目: google_play_services-lib 捕获活动 肖像画 导入项目后,我立即进入“Java构建路径”并添加了所需JAR的路径: 在我成功地添加了所需的jar之后,我继续使用库。我导入了所有三个需要的库(项目中提供了这些库),一切都进行得很顺利: 之后,我还确保在“导出”选项卡下选中了私有库: 导入完项目后,我尝试运行它,但它立即崩溃。这是logcat文件: 07-17 1
- google_play_services-lib
- 捕获活动
- 肖像画
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,但我找不到它(我是否缺少它?)
- 没有将JAVA_设置为HOME,但它不起作用
- 启动了一个新的android应用程序项目,并在其中复制了文件
也许我也试过别的东西,但我忘了提,我已经做了很长一段时间了,我已经没有东西可以尝试了。我将非常感谢任何帮助 当我没有将代码导入Eclipse时,我已经相当肯定地看到过类似的情况发生,但我已经尝试从其下载位置运行库,例如Google Play Game服务: 从Android示例导入TypeANumber和BaseGameUtils代码 进入您的工作区。在Eclipse中执行此操作:单击文件>导入> Android>将现有Android代码放入工作区。浏览到 在开发计算机上下载TypeANumber的目录 然后单击“确定”导入文件。执行与此相同的步骤 基本配子体 (这是我从 此外,尽管这并不完全适合您的问题:
“/data/app/si.dvanadva.evanturist-1.apk”--这是路径?MainActivity.class的路径不同。它是workspace/Evanturist/bin/classes/si/dvanadva/Evanturist,这是导致问题的原因吗?路径不应该是目录吗?si.dvanadva.evanturist-1.apk?你检查过了吗?我检查过了,我在任何地方都找不到si.dvanadva.evanturist-1.apk,甚至没有数据/应用程序目录请尝试将文件放在项目文件夹中的
src
目录中。是!!!!真不敢相信我还没试过!问题是,google play services从其他目录添加了一个库项目,而不是从下载位置添加。非常感谢你!!毫无疑问,你应该得到赏金奖:)不客气。我花了相当多的时间阅读其他稿件并仔细阅读我的笔记,然后才偶然发现可能的原因。@Matthew我认为如果他帮助解决了问题,你应该奖励奖金(我不确定到期时间是如何工作的;系统在我看来很复杂)。我正要请你看看这个项目,但看起来它已经解决了:)@ADTC yes!谢谢你提醒我,几天前我想奖励赏金,但它不让我,因为我不得不再等20个小时,然后我就完全忘记了,很抱歉:)