我正试图让Emma运行我的Android项目,所以我遵循了以下步骤:http://dtmilano.blogspot.ca/2011/08/linuxcon-2011-north-america.html和https://wiki.jenkins-ci.org/display/JENKINS/Building+一个+安卓+应用程序+和+测试+项目->设置ant。
我正在测试项目目录中运行命令ant clean emma debug install test
,并收到以下错误:
-compile:
[javac] Compiling 112 source files to C:UsersRLworkspaceFSbinclasses
[javac] C:UsersRLworkspaceFSsrcFSmodelselementsElements.java:7: package org.simpleframework.xml does not exist
[javac] import org.simpleframework.xml.ElementList;
[javac] ^
[javac] C:UsersRLworkspaceFSsrcFSmodelselementsElements.java:8: package org.simpleframework.xml does not exist
[javac] import org.simpleframework.xml.Root;
[javac] ^
[javac] C:UsersRLworkspaceFSsrcFSmodelselementsElements.java:15: package com.thoughtworks.xstream.annotations d
oes not exist
/... +97 similar errors .../
测试中的原始项目使用Simple框架,Emma似乎在使用这些框架时遇到了麻烦。因此,我将这些jar添加到测试项目的java构建路径中,但没有任何区别。
我使用以下命令将我的项目转换为ant:
android update project --path C:UsersRLworkspaceFS --name FS --target android-11
android update test-project --main ../FS --path C:UsersRLworkspaceFSTest
生成的build.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<project name="FSTest" default="help">
<property file="local.properties" />
<property file="ant.properties" />
<property environment="env" />
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
<isset property="env.ANDROID_HOME" />
</condition>
<loadproperties srcFile="project.properties" />
<fail message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
unless="sdk.dir" />
<import file="custom_rules.xml" optional="true" />
<import file="${sdk.dir}/tools/ant/build.xml" />
</project>
如果需要,我也可以附加一个完整的java错误跟踪(它包含100个错误,都与上面的类似
如何将依赖项注入外部框架?
我通过将所有外部jar库转移到/libs库来解决问题,然后我就可以构建测试了。