2012-03-23 148 views
7

儀器測試時(這是一個Android SDK工具V17的問題。預計V18修復)

我有一個測試目標項目A,以及測試項目B.NoClassDefFoundError的運行與螞蟻

A計劃FlurryAgent.jar在它的libs文件夾中。

項目B具有robotium獨奏-3.1.jar在libs文件夾

當我編譯和運行它們,

cd A 
android update project -p . 
cd .. 
cd B 
android update test-project -p . -m ../A 
ant all clean debug 
ant uninstall 
ant installt 
ant test 

螞蟻測試無法執行的測試:

test: 
    [echo] Running tests ... 
    [exec] 
    [exec] com.example.r17.test.TestOne: 
    [exec] INSTRUMENTATION_RESULT: shortMsg=java.lang.NoClassDefFoundError 
    [exec] INSTRUMENTATION_RESULT: longMsg=java.lang.NoClassDefFoundError: com.flurry.android.FlurryAgent 
    [exec] INSTRUMENTATION_CODE: 0 

我已經閱讀了一些在Eclipse中解決這個問題的帖子/問題。但我不認爲我可以在無頭詹金斯奴隸上運行Eclipse。

+0

庫文件夾名稱已從'lib'更改爲'libs',但聽起來好像你已經正確地重命名了它。 – 2012-03-23 23:09:34

+0

幾個月前,我不得不開始使用命令行工具,並發現默認的ant build.xml使用與Eclipse ADT插件不同的庫文件夾。 – 2012-03-24 00:13:27

回答

3

http://code.google.com/p/android/issues/detail?id=27608

我提交的問題,谷歌和他們上傳了一個臨時的解決辦法。該修補程序也將包含在v18版本中。

「project member x ... @ android.com,今天(34分鐘前) 從http://tools.android.com/download的底部獲取anttasks.jar以替換sdk中的那個。

的文件替換爲\ Android的\ Android的SDK \工具\ LIB \

+0

非常感謝你的這個......!我以爲我失去了我的想法......! – markshiz 2012-04-02 14:15:54

1

我沒有這個代表發表評論戚但我認爲這可能與我的問題在這裏:

VerifyError in android test-project build tools v17

XAV一直在得到這個備份和運行工具,看起來像他坐修復

+0

VerifyError是我得到的錯誤,如果我將testtarget/libs中的所有內容複製到testser/libs,反之亦然。所以我認爲你基本上有我得到的完全相同的問題。 – 2012-03-26 16:34:03

38

由於這個職位是在搜索引擎結果的第一,當我進入「java.lang.NoClassDefFoundError:com.flurry.android .FlurryAgent「,我的問題與Ant完全沒有關係,我想我會爲重新安裝ADT後可能會撓頭的人添加一些信息。

基本上,在Eclipse中,當您在Java Build Path對話框中添加外部庫時,不要忘記也切換到Order和Export選項卡,並在列表中勾選該庫的名稱。這是需要的,以便在運行時找到該庫,而不僅僅是在編譯時:)

+0

謝謝Levon幫助你非常感謝你..我要瘋了這個 – cavallo 2012-06-04 10:44:52

+0

Qi Fan你應該接受這個正確的答案 – cavallo 2012-06-04 10:45:42

+0

非常感謝! – Michalsx 2012-06-23 21:48:21

2

使用android-junit-report時,我花了很長時間才弄清這個問題,但是有了幫助「adb logcat」我發現它實際上並沒有遺漏我包含的instrumentation類,但它遺漏了它的繼承超類。所以,我需要把這個回的AndroidManifest.xml:

<application> 
    <uses-library android:name="android.test.runner" /> 
</application> 
+0

你真棒。這解決了我的問題。沒有人告訴你應該這樣做,上帝該死! – user1810737 2014-05-02 12:44:30

0

我剛剛解決這個問題。「8月8日至14日:33:43.398:E/AndroidRuntime(6748):java.lang.NoClassDefFoundError:COM .flurry.android.FlurryAgent

當我想要在我的android應用程序中添加亂舞時,我流動官方網站,它告訴我在Java Build Path對話框中添加一個外部庫,然後我不會忘記也可以切換到「訂單和導出」選項卡,並在列表中勾選該庫的名稱。這是需要的,以便在運行時找到該庫,而不僅僅是在編譯時,但是它不起作用直到我從構建路徑中刪除該jar,然後將其複製到lib。完成!

1

我有同樣的情況,即使我遵循Levon的帖子,它也不起作用。然後我意識到我需要將FlurryAnalytics.jar複製到我的工作空間的libs文件夾中以使其工作。希望這可以幫助。

+0

謝謝,我不能相信這是從Flurry指令如此不同!這是最後爲我工作的那個! – 2014-10-14 23:22:49