2011-01-27 58 views
11

“includeAntRuntime”在android ant脚本中未设置为false,并且每次构建我的应用程序时都会给我带来恼人的警告。“includeAntRuntime”未设置为android ant脚本?

[javac] /Users/dwang/Library/android/android-sdk-mac_x86/tools/ant/main_rules.xml:361: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds 

看文件Android的SDK的行354 - * /工具/ ANT/main_rules.xml

  <javac encoding="${java.encoding}" 
        source="${java.source}" target="${java.target}" 
        debug="true" extdirs="" 
        destdir="${out.classes.absolute.dir}" 
        bootclasspathref="android.target.classpath" 
        verbose="${verbose}" 
        classpath="${extensible.classpath}" 
        classpathref="jar.libs.ref"> 
       <src path="${source.absolute.dir}" /> 
       <src path="${gen.absolute.dir}" /> 
       <src refid="project.libraries.src" /> 
       <classpath> 
        <fileset dir="${extensible.libs.classpath}" includes="*.jar" /> 
       </classpath> 
      </javac> 

而且似乎我不能轻易解决它不直接修改该文件? Android团队,请修正它?

+0

http://www.enterra-inc.com/techzone/using_ant_android_applications_building/可能有帮助 – 2012-01-13 03:30:53

回答

14

Android SDK的解决方法是将build.sysclasspath属性设置为"last",这将抑制虚假警告。

通过分配项目的build.properties文件中的属性值来完成此操作。

# You can use this to override default values such as 
# 'source.dir' for the location of your java source folder and 
# 'out.dir' for the location of your output folder. 
out.dir=build 
gen.dir=build/gen 

# Suppress the javac task warnings about "includeAntRuntime" 
build.sysclasspath=last 
+0

谢谢,它的工作 – dongshengcn 2011-03-18 16:50:21

1

这是由Ant 1.8中引入的错误引起的。只需将该名称的属性添加到javac任务中,将其设置为false,并忘记曾发生过。

即。在您的javac Ant任务中设置属性includeAntRuntime。 Ant用户手册给出了以下属性描述:“除非设置了build.sysclasspath,否则属性includeAntRuntime默认为yes,通常最好将其设置为false,以便脚本的行为对其运行环境不敏感”。

+0

感谢您的评论。事实上,这很容易解决,但不适用于Android SDK。目标是在android sdk脚本中定义的。 – dongshengcn 2011-01-28 16:55:09