Android:IllegalStateException:无法执行活动的方法

问题描述 投票:0回答:2

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

之后我不得不将该项目移动到另一台计算机上:相同的文件,相同的东西,任何修改过的东西。但是现在,当它运行时我得到这个错误:“FATAL EXCEPTION: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`

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

android button error-handling logcat
2个回答
0
投票

这似乎是问题所在:

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

所以我的猜测是你错过了gson-library。或者,如果您在Eclipse中工作,请尝试在项目上执行“清理”(项目 - >清理)


0
投票

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

这个问题是通过引用我所拥有的库(在我的情况下是gson)而得到的,这是不正确的。我以错误的方式将库添加到我的项目中。我用于在我的项目中实现库的过程是:

  1. 右键单击Eclipse中的项目
  2. 构建路径>配置构建路径...
  3. 在Libraries部分中,单击Add External JARs ...
  4. 在计算机中浏览并找到我要导入的库,单击“确定”并导入它。

但这个程序是不正确的!

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

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

现在,该库可用于您的项目。

这些步骤对我有用,如果你有同样的问题,我希望他们甚至可以为你工作。

再见;)

© www.soinside.com 2019 - 2024. All rights reserved.