按照列出here列出的所有步骤后,我发现我的(Class)_仍未生成。
定制规则:
<?xml version="1.0" encoding="UTF-8"?>
<project name="custom_rules">
<target name="-compile" depends="-build-setup, -pre-build, -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>
<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}">
<classpath>
<fileset dir="compile-libs" includes="*.jar"/>
</classpath>
<src path="${source.absolute.dir}" />
<src path="${gen.absolute.dir}" />
<compilerarg line="${java.compilerargs}" />
</javac>
<!-- bunch of if conditions here -->
</target>
</project>
日志:
C:{path} {Class} .java(8:34)找不到符号类Activity _
注意:启动AndroidAnnotations注释处理
:类型'[dummy1343240015623]'的未闭合文件;这些类型不会进行注释处理
处理似乎在之后无法找到Activity_。错误还是按预期?
所有文件都在正确的位置(\ libs中的api.jar,\ compile-libs中的.jar),并且不能在我的生活中找出任何东西。
编辑:稍微捅了一下。在AndroidAnnotations生成的源文件夹的新property
中添加,在javac
期间将其添加到src
-compile
路径中,但仍然没有运气。这是我第一次运行ant脚本时,它告诉我它找不到任何生成的类,第二次,它告诉我我有重复它们(仍然给我unclsed files for types...
错误消息)。
答案 0 :(得分:0)
所以,这里可能的解决方案。我需要为javac编译本身添加一些编辑,以及上面的delete和mkdir,这样它会不断重新生成它需要的所有文件,而不是由于覆盖权限而自行调整。
<target name="-compile"
depends="-build-setup, -pre-build, -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>
<delete dir="${out.aagen}"/>
<mkdir dir="${out.aagen}"/>
<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}"/>
<src path="${out.aagen}"/>
<compilerarg line="${java.compilerargs}"/>
<compilerarg line="-processorpath ${processorpath}"/>
<compilerarg line="-processor ${processor}"/>
<compilerarg line="-s ${out.aagen}"/>
</javac>
<!-- a bunch of other crap that is unimportant -->
</target>