麻烦跑艾玛

时间:2012-08-21 20:16:26

标签: emma

我目前正在尝试在SDK中覆盖Android库(特别是android.database.sqlite),作为Android系统研究和测试的一部分。我正在关注使用Emma的this指南,希望将Emma用作覆盖工具。但是,只需遵循本指南并运行示例程序似乎不能很好地工作。我可以跑

java -cp out Main

很好,但是我尝试运行的那一刻

java emmarun -cp out Main

它给了我以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: emmarun
Caused by: java.lang.ClassNotFoundException: emmarun
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: emmarun.  Program will exit.

也许这只是我对艾玛问题缺乏经验,但是有人能向我解释我应该怎么做吗?顺便说一句,我有当前保存在/usr/lib/jvm/java-1.6.0-sun-1.6.0.33.x86_64/jre/lib/中的emma.jar文件(该指南说它放在jre / lib中) / ext /,但是没有用,所以我工作的支持把它放在lib /中。)

1 个答案:

答案 0 :(得分:0)

也许您使用了错误的 emma.jar

在android的构建系统中有2个 emma.jar

一个用于主机在PC上运行),另一个用于目标在手机上运行 >)。

您的问题是使用目标执行 emmarun 命令。


在/system/framework/emma.jar下构建的那个用于手机。

构建系统/external/emma/lib/emma.jar中的那个用于执行命令。