2012-06-11 85 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文件夾中找到庫,添加它。

現在圖書館可用,併爲您的項目工作。

這些步驟對我來說很有效,如果你有同樣的問題,我希望他們能爲你工作。

再見;)

相關問題