2010-07-13 18 views
10

Görünüşe göre, build.properties içinde source.dir özelliğini kullanarak kaynak klasörleri belirtebilirim - ancak birden çok kaynak klasörü belirtmek istersem ne olur? AşağıdaAndroid projeleri oluşturmak için kar kullanırken build.properties'te birden çok kaynak klasörü nasıl belirlenir?

comments Android SDK araçlar tarafından oluşturulan Build.xml dosyasından şunlardır:

<!-- The build.properties file can be created by you and is never touched 
    by the 'android' tool. This is the place to change some of the default property values 
    used by the Ant rules. 
    Here are some properties you may want to change/update: 

    application.package 
     the name of your application package as defined in the manifest. Used by the 
     'uninstall' rule. 
    source.dir 
     the name of the source directory. Default is 'src'. 
    out.dir 
     the name of the output directory. Default is 'bin'. 

    Properties related to the SDK location or the project target should be updated 
     using the 'android' tool with the 'update' action. 

    This file is an integral part of the build system for your application and 
    should be checked in in Version Control Systems. 

    --> 

Not: Eclipse bina umurumda değil - karınca kullanarak yapýlar otomatik ayarlama Im.

+0

Lütfen hangi görevi kullandığınızı açıklığa kavuşturun. Javac görevi source.dir özelliğini kullanmaz. –

+0

Özellikle ANDROID projeleri için, SDK'nın Android CLI aracı tarafından oluşturulan yorumlara göre, build.properties dosyasında source.dir öğesini belirtebilirsiniz. Yukarıdaki soruyu güncellemek ve yorumlara yapıştırmak. – Eno

cevap

18

Yolları ayırmak için iki nokta üst üste kullanmayı denediniz mi? Benim build.properties şöyle görünür: diğer konular bir demet çözer Burada var (ağır özelleştirilmiş) build.xml, In

source.dir=src:src2:src3:src4:src5 
+3

Korkarım ki bir kütüphane oluştururken işe yaramıyor. –

+1

@ AndreyRegentov - Android Kitaplığı projesi için bir çözümdür. http://stackoverflow.com/questions/14605899/how-to-specify-multiple-source-directory-for-android-library-project –

0

, ben sadece benim XML derleme hedef çekmeye sahip bitti ve orada birden fazla kaynak yolu belirtiliyor. Aynı şeyi yapabilirsin, sadece yeni hedefi build.xml dosyasındaki kurulum görevinin tanımının üstüne koy. Android SDK'da dolaşan birden fazla dosya olduğunu ve bunların hepsinin özelleştirmek için kullanmanız gerektiğine benzediğini ve bir çiftinin yanlış olduğunu veya en azından en son araçlarla düzgün çalışmadığını unutmayın. tools/ant/main_rules.xml, Windows SDK'mda çalışıyor görünmüyor). İstediğinizin en son SDK'da platformlarda/[platform-numer] /ant/ant_rules_r2.xml olduğunu düşünüyorum. Her halükarda, görev aşağıdaki göreve benziyor ve kolayca başka bir kaynak dizin ekleyebilirsiniz. Buradaki diğer cevap gibi, kolonlarla ayrılmayı denemedim çünkü dediğim gibi, build.xml'mizin bir dizi şekilde özelleştirilmesi gerekiyordu. Ama bunun işe yarayacağını biliyorum.

<!-- Compiles this project's .java files into .class files. --> 
<target name="compile" depends="-resource-src, -aidl" 
      description="Compiles project's .java files into .class files"> 
    <!-- If android rules are used for a test project, its classpath should include 
     tested project's location --> 
    <condition property="extensible.classpath" 
         value="${tested.project.absolute.dir}/bin/classes" else="."> 
     <isset property="tested.project.absolute.dir" /> 
    </condition> 
    <condition property="extensible.libs.classpath" 
         value="${tested.project.absolute.dir}/libs" else="./libs"> 
     <isset property="tested.project.absolute.dir" /> 
    </condition> 
    <javac encoding="ascii" target="1.5" debug="true" extdirs="" 
      destdir="${out.classes.absolute.dir}" 
      bootclasspathref="android.target.classpath" 
      verbose="${verbose}" classpath="${extensible.classpath}" 
      classpathref="android.libraries.jars"> 
     <src path="${source.absolute.dir}" /> 
     <src path="${gen.absolute.dir}" /> 
     <src refid="android.libraries.src" /> 
     <classpath> 
      <fileset dir="${external.libs.absolute.dir}" includes="*.jar" /> 
      <fileset dir="${extensible.libs.classpath}" includes="*.jar" /> 
     </classpath> 
    </javac> 
</target> 
İlgili konular