Android 프로젝트의 build.xml 파일에이 문제가 있습니다.목표 무시가 예상대로 작동하지 않습니다.
기본적으로 안드로이드 SDK build.xml 파일의 "-compile"타겟을 내 build.xml 파일에 복사했습니다. 그러나 개미를 실행하면 내 SDK 대신 Android SDK build.xml 파일에서 "-compile"타겟을 계속 사용합니다. 어디서나 내가 읽은 build.xml 파일에 대한 주석을 포함하여이 방법은 대상 재정의가 작동하는 방법이지만 어떤 이유로 내 재정의 대상이 실행되고 있지 않습니다.
내가해야 할 다른 것이 있습니까?
감사합니다.
UPDATE는 :
나는 -compile
대상에 <fileset dir="${source.absolute.dir}" excludes="**/*.java ${android.package.excludes}" />
줄을 주석으로 처리하기 위해 특별히이 일을하고 있습니다.
아래에서 볼 수있는 것처럼 두 가지 다른 echo 문이 있습니다. 나는 sdk/tools/build.xml에있는 것을 계속 볼 수 있습니다. 다른 명확한 표시는 내 타겟을 사용하지 않기 때문에 빌드가 실패하고 있다는 것입니다.
<target name="-compile" depends="-pre-build, -build-setup, -code-gen, -pre-compile">
<do-only-if-manifest-hasCode elseText="hasCode = false. Skipping...">
<!-- merge the project's own classpath and the tested project's classpath -->
<path id="project.javac.classpath">
<path refid="project.all.jars.path" />
<path refid="tested.project.classpath" />
<path path="${java.compiler.classpath}" />
</path>
<javac encoding="${java.encoding}"
source="${java.source}" target="${java.target}"
debug="true" extdirs="" includeantruntime="false"
destdir="${out.classes.absolute.dir}"
bootclasspathref="project.target.class.path"
verbose="${verbose}"
classpathref="project.javac.classpath"
fork="${need.javac.fork}">
<src path="${source.absolute.dir}" />
<src path="${gen.absolute.dir}" />
<compilerarg line="${java.compilerargs}" />
</javac>
<!-- if the project is instrumented, intrument the classes -->
<if condition="${build.is.instrumented}">
<then>
<echo level="info">Instrumenting classes from ${out.absolute.dir}/classes...</echo>
<!-- build the filter to remove R, Manifest, BuildConfig -->
<getemmafilter
appPackage="${project.app.package}"
libraryPackagesRefId="project.library.packages"
filterOut="emma.default.filter"/>
<!-- define where the .em file is going. This may have been
setup already if this is a library -->
<property name="emma.coverage.absolute.file" location="${out.absolute.dir}/coverage.em" />
<!-- It only instruments class files, not any external libs -->
<emma enabled="true">
<instr verbosity="${verbosity}"
mode="overwrite"
instrpath="${out.absolute.dir}/classes"
outdir="${out.absolute.dir}/classes"
metadatafile="${emma.coverage.absolute.file}">
<filter excludes="${emma.default.filter}" />
<filter value="${emma.filter}" />
</instr>
</emma>
</then>
</if>
<!-- if the project is a library then we generate a jar file -->
<if condition="${project.is.library}">
<then>
<echo level="info">Creating library output jar file... SDK TOOLS BUILDXML</echo>
<property name="out.library.jar.file" location="${out.absolute.dir}/classes.jar" />
<if>
<condition>
<length string="${android.package.excludes}" trim="true" when="greater" length="0" />
</condition>
<then>
<echo level="info">Custom jar packaging exclusion: ${android.package.excludes}</echo>
</then>
</if>
<propertybyreplace name="project.app.package.path" input="${project.app.package}" replace="." with="/" />
<jar destfile="${out.library.jar.file}">
<fileset dir="${out.classes.absolute.dir}"
includes="**/*.class"
excludes="${project.app.package.path}/R.class ${project.app.package.path}/R$*.class ${project.app.package.path}/BuildConfig.class"/>
<fileset dir="${source.absolute.dir}" excludes="**/*.java ${android.package.excludes}" />
</jar>
</then>
</if>
</do-only-if-manifest-hasCode>
</target>
수정 된 build.xml 파일의 관련 부분을 게시하십시오. –