2011-01-27 26 views
11

android antスクリプトで "includeAntRuntime"がfalseに設定されていないため、アプリをビルドするたびに迷惑な警告が表示されます。android antスクリプトにincludeAntRuntimeが設定されていませんか?

[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を見 - * /ツール/アリ/ 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/コメントに役立つ –

答えて

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

+0

build.propertiesはant.propertiesとも呼ばれますか? –

+0

@Samはいそうです。 – prolink007

1

これは、Ant 1.8で誤って導入されたことが原因です。単にその名前の属性をjavacタスクに追加し、それをfalseに設定して、それが起こったことを忘れてください。

ie。 javac Antタスクで属性includeAntRuntimeを設定してください。 Antユーザマニュアルには、属性includeAntRuntimeがデフォルトでyesに設定されています(build.sysclasspathが設定されていない場合)。これをfalseに設定して、スクリプトの動作が実行環境に影響されないようにすることが最善です。

+0

おかげかもしれません。実際、これは簡単な修正ですが、Android SDKでは不可能です。ターゲットはandroid sdkスクリプトで定義されています。 – dongshengcn

関連する問題