【问题标题】:Android: IllegalStateException: Could not execute method of the activityAndroid:IllegalStateException:无法执行活动的方法
【发布时间】:2012-06-11 15:12:23
【问题描述】:

我在计算机上有一个 Java (Android) 项目,当我在我的设备上运行它时,它运行良好。

在那之后,我不得不将该项目移动到另一台计算机上:相同的文件、相同的东西、任何修改过的东西。但是现在,当它运行时,我收到了这个错误:“FATAL EXCEPTION: main, java.lang.IllegalStateException: could not execute method of the Activity”

当我按下调用 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`

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

【问题讨论】:

  • 我认为您的实际问题是 DbWorker.java 第 3076 行的 NoClassDefFoundError
  • 您是如何将库添加到您的项目路径中的?
  • 右键项目主文件夹>构建路径>添加外部档案...

标签: android button error-handling logcat


【解决方案1】:

这似乎是问题所在:

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

所以我的猜测是您缺少 gson 库。或者,如果您在 Eclipse 中工作,请尝试对项目进行“清理”(项目 -> 清理)

【讨论】:

  • 我刚刚签出,gson-library (gson-2.2.1.jar) 包含在引用的库中,所以错误不可能是那个。我试图清理项目,但错误仍然存​​在。我试图替换所有的外部 jar 库,但没有改变......我很困惑!
【解决方案2】:

经过长时间的搜索,我在论坛上查看了解决方案,

问题是由对我拥有的不正确的库(在我的情况下是 gson)的引用引起的。 我以错误的方式将库添加到我的项目中。 我在项目中用于实现库的过程是:

  1. 在Eclipse中右键项目
  2. 构建路径 > 配置构建路径...
  3. 在库部分单击添加外部 JAR...
  4. 在电脑中浏览,找到我要导入的库,点击确定,导入即可。

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

为了添加一个库并使其对项目可用(和工作)正确的程序是

  1. 在您的 Eclipse/Android 工作区项目中创建一个名为“libs”的新文件夹(如果您使用的是 Windows 操作系统,则可以在 Windows 资源管理器中创建)。
  2. 在 Eclipse 中,右键单击项目并选择“刷新”,这将刷新您的项目并添加“libs”文件夹
  3. 右键单击“libs”文件夹,选择“导入”>“常规”>“文件系统”。单击下一步,然后在您的电脑中浏览以找到要添加的库的父文件夹(注意选择库的父文件夹,而不是 library.jar),然后单击确定
  4. 单击库的目录名称(显示在左侧面板中)-不是复选框-
  5. 右侧面板将显示该文件夹中的 JAR 文件列表,选中您要安装的文件的复选框,然后单击完成(此操作会将库添加到您的项目中,现在您必须使其可用项目代码)
  6. 右键单击您的项目,选择构建路径 > 配置构建路径...
  7. 在库选项卡中单击添加 JAR...,浏览您的项目并 在你的 libs 文件夹中找到库,添加它。

现在该库已可用并适用于您的项目。

这些步骤对我有用,如果你遇到同样的问题,我希望它们对你也有用。

再见;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    相关资源
    最近更新 更多