2012-06-11 81 views
0

我有一个Java(Android设备)项目在计算机上的,当我在我的设备上运行它,它工作得很好。安卓:IllegalStateException异常:无法执行方法的活动

之后,我不得不将该项目移动到另一台计算机:相同的文件,相同的东西,任何修改。但是现在,当它运行时,我得到这个错误:“致命异常:main,java.lang.IllegalStateException:无法执行活动的方法”

当我按下调用onClick方法的按钮时出现错误。如果我不按下按钮,一切都会顺利。

这是我的logcat

06-11 17:03:26.881: E/AndroidRuntime(15278): FATAL EXCEPTION: main 
06-11 17:03:26.881: E/AndroidRuntime(15278): java.lang.IllegalStateException: Could not execute method of the activity 
06-11 17:03:26.881: E/AndroidRuntime(15278): at android.view.View$1.onClick(View.java:3044) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at android.view.View.performClick(View.java:3511) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at android.view.View$PerformClick.run(View.java:14105) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at android.os.Handler.handleCallback(Handler.java:605) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at android.os.Handler.dispatchMessage(Handler.java:92) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at android.os.Looper.loop(Looper.java:137) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at android.app.ActivityThread.main(ActivityThread.java:4424) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at java.lang.reflect.Method.invokeNative(Native Method) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at java.lang.reflect.Method.invoke(Method.java:511) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at dalvik.system.NativeStart.main(Native Method) 
06-11 17:03:26.881: E/AndroidRuntime(15278): Caused by: java.lang.reflect.InvocationTargetException 
06-11 17:03:26.881: E/AndroidRuntime(15278): at java.lang.reflect.Method.invokeNative(Native Method) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at java.lang.reflect.Method.invoke(Method.java:511) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at android.view.View$1.onClick(View.java:3039) 
06-11 17:03:26.881: E/AndroidRuntime(15278): ... 11 more 
06-11 17:03:26.881: E/AndroidRuntime(15278): Caused by: java.lang.NoClassDefFoundError: com.google.gson.GsonBuilder 
06-11 17:03:26.881: E/AndroidRuntime(15278): at iv.AppInditta.DbWorker.NewServerGetActivityTypes(DbWorker.java:3076) 
06-11 17:03:26.881: E/AndroidRuntime(15278): at iv.AppInditta.InDitta.faseuno(InDitta.java:641) 
06-11 17:03:26.881: E/AndroidRuntime(15278): ... 14 more` 

有谁知道如何解决这个运行时错误?它不可能是一个码错误,我敢肯定,因为以前的计算机上的相同的代码工作好...

+1

我觉得您的实际问题是'NoClassDefFoundError'在DbWorker.java线3076 – kcoppock

+0

你是如何将库添加到您的项目路径? – FoamyGuy

+0

右键单击项目主文件夹>构建路径>添加外部档案... –

回答

0

这似乎是这个问题:

Caused by: java.lang.NoClassDefFoundError: com.google.gson.GsonBuilder 

所以我的猜测是因为你错过了gson库。另外,如果你是在Eclipse的尝试的项目做一个“干净”(项目 - >清洁)

+0

我刚刚签出,并且gson-library(gson-2.2.1.jar)包含在Referenced库中,所以错误无法解决,那是。我试图清理该项目,但错误仍然存​​在。我试图替换所有外部jar库,但没有更改...我很困惑! –

0

长搜索我检查了在一个论坛上的解决方案后,

问题是由给定参考我有的图书馆(在我的情况下,它是gson),这是不正确的。 我以错误的方式将库添加到我的项目中。 我用于实现在我的项目库的程序是:

  1. 右键单击该项目在Eclipse
  2. 构建路径>配置构建路径...
  3. 在上添加外部的库部分点击JAR ...
  4. 在计算机中浏览并找出我想要导入的库,单击确定并导入它。

但是这个程序是不正确的!

对于添加库并使其可用(和工作)的项目正确的程序IS

  1. 建立在Eclipse/Android的工作区项目名为“库”的新文件夹(你可以如果您使用的是Windows操作系统,请在Windows资源管理器中进行)。
  2. 在Eclipse中,右键单击项目并选择“刷新”,这将刷新您的项目并添加“库”文件夹
  3. 右键单击“库”文件夹,选择导入>常规>文件系统。点击NEXT,然后在PC上浏览找到要添加的库的父文件夹(N.B.选择库的父文件夹,而不是库。然后点击确定
  4. 单击库的目录名称(显示在左侧面板中) - 不选中复选框
  5. 在右侧面板中将显示该文件夹中的JAR文件列表,选择点击FINISH(此操作会将库添加到项目中,现在必须使其可用于项目代码)
  6. 右键单击您的项目,选择Build Path> Configure构建路径...
  7. 在库选项卡中单击添加JAR ...,浏览您的项目并在您的libs文件夹中找到库,添加它。

现在图书馆可用,并为您的项目工作。

这些步骤对我来说很有效,如果你有同样的问题,我希望他们能为你工作。

再见;)

相关问题