7

(这是一个 Android SDK 工具 v17 问题。期待在 v18 中修复)

我有一个测试目标项目 A 和一个测试项目 B。

项目 A 在其 libs 文件夹中有 FlurryAgent.jar。

项目 B 在其 libs 文件夹中有 robots-solo-3.1.jar

当我编译并运行它们时,

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

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 中解决此问题的帖子/问题。但我认为我不能在无头 Jenkins 奴隶上运行 Eclipse。

4

6 回答 6

38

由于这篇文章是我输入“java.lang.NoClassDefFoundError: com.flurry.android.FlurryAgent”时搜索引擎结果中的第一篇,而且我的问题与 Ant 完全无关,所以我想我应该为以下人员添加一些信息重新安装 ADT 后可能会摸不着头脑。

基本上,在 Eclipse 中,当您在 Java 构建路径对话框中添加外部库时,不要忘记也切换到“订购和导出”选项卡并在列表中勾选该库的名称。这是必需的,以便在运行时找到库,而不仅仅是在编译时:)

于 2012-03-31T18:46:23.617 回答
3

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

我将问题提交给 Google,他们上传了一个临时修复程序。该修复也将包含在 v18 版本中。

“项目成员 x...@android.com,今天(34 分钟前)从http://tools.android.com/download底部获取 anttasks.jar替换您 sdk 中的那个。”

要替换的文件位于 \Android\android-sdk\tools\lib\

于 2012-03-26T17:42:20.387 回答
2

使用 android-junit-report 时,我花了很长时间才解决同样的问题,但是在“adb logcat”的帮助下,我发现它实际上并没有丢失我包含的检测类,但它丢失了它继承的超类。所以我需要把它放回AndroidManifest.xml:

<application>
    <uses-library android:name="android.test.runner" />
</application>
于 2012-07-17T14:09:33.063 回答
1

我没有代表评论 Qi 但我认为这可能与我的问题有关:

android测试项目构建工具v17中的VerifyError

Xav 在恢复和运行这方面发挥了重要作用,看起来他已经修复了

于 2012-03-24T04:19:14.460 回答
1

我有同样的情况,即使我关注了 Levon 的帖子,它也不起作用。然后我意识到我需要将 FlurryAnalytics.jar 复制到我工作空间的 libs 文件夹中才能使其工作。希望这可以帮助。

于 2014-09-01T21:06:48.970 回答
0

我刚刚解决了这个问题“08-14 08:33:43.398: E/AndroidRuntime(6748): java.lang.NoClassDefFoundError: com.flurry.android.FlurryAgent

当我想将flurry添加到我的android应用程序时,我会访问官方网站,它告诉我在Java Build Path对话框中添加一个外部库,然后我不要忘记切换到Order and Export选项卡并勾选列表中的库名称。这是必需的,以便在运行时找到库,不仅在编译时,但是直到我从构建路径中删除 jar,然后将其复制到库中,它才起作用。完毕!!!

于 2014-08-14T00:48:32.097 回答