2012-03-23 158 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