gpt4 book ai didi

java - Android 注释不是用 Ant 编译的

转载 作者:行者123 更新时间:2023-11-29 09:12:13 24 4
gpt4 key购买 nike

完成所有列出的步骤后 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) cannot find symbol class Activity_

Note: Starting AndroidAnnotations annotation processing

: Unclosed files for the types '[dummy1343240015623]'; these types will not undergo annotation processing

处理似乎是在找不到 Activity_ 之后开始的。错误还是按预期?

所有文件都在正确的位置(\libs 中的 api.jar,\compile-libs 中的 .jar),我这辈子都搞不清楚。

已编辑: 浏览了一下。为 AndroidAnnotations 生成的源文件夹添加了一个新的 property,在 -compile 期间将其添加到 javac src 路径中仍然没有运气。这是我第一次运行 ant 脚本,它告诉我它找不到任何生成的类,第二次,它告诉我我有它们的副本(仍然给我类型的 unclsed 文件.. . 错误信息)。

最佳答案

所以,可能的解决方案在这里。我需要对 javac 编译本身添加一些编辑,以及上面的 delete 和 mkdir,以便它会不断地重新生成它需要的所有文件,而不是由于覆盖权限而对自身产生 barf。

<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>

关于java - Android 注释不是用 Ant 编译的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11656076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com