2013-02-06 14 views
5

Obecnie gram z Antem, aby wykonać pracę związaną z budowaniem marki. Zmodyfikowałem domyślny plik build.xml i skonfiguruję własny cel. Mam nadzieję, że zadam pytanie, czy jest jakiś sposób w Ant Script, który mógłby automatycznie zmienić nazwę pliku APK po prostu budować z pewną nazwą?Jak korzystać z Anta do automatycznego zmieniania nazwy wyjściowego pliku APK?

Obecnie ma to Ant setup cel w moim build.xml:

<target name="release-brandA" 
      depends="default, -set-release-mode, -release-obfuscation-check, -package, -post-package, -release-prompt-for-password, -release-nosign, -release-sign, -post-build" 
      description="Builds the application in release mode for brandA."> 
    <delete dir="${res}" /> 
    <copydir dest="${res}" src="${branding}/brandA" forceoverwrite="ture" /> 
    <replaceregexp flags="g" byline="false"> 
     <regexp pattern="import com.arthur.android(.*).R;"/> 
     <substitution expression="import com.arthur.android.brandA.R;"/> 
     <fileset dir="src" includes="**/*.java" /> 
    </replaceregexp> 
    <replaceregexp flags="g" byline="false"> 
     <regexp pattern="package=&quot;com.arthur.android(.*)&quot;" /> 
     <substitution expression="package=&quot;com.arthur.android.brandA&quot;" /> 
     <fileset dir="" includes="AndroidManifest.xml" /> 
    </replaceregexp> 
</target> 

Czy istnieje sposób, że mogę dodać trochę więcej zadań, aby plik wyjściowy tylko być jak brandA.apk?

Dziękujemy!

Odpowiedz

10

Ostateczna nazwa pliku apk jest właściwie zdefiniowana przez właściwość „out.final.file”

Można więc utworzyć nowe zadanie, które ustawia tę właściwość:

<target name="-set-out-final-file"> 
    <property name="out.final.file" location="${out.absolute.dir}/brandA.apk" /> 
</target> 

Wreszcie, po prostu trzeba wywołaj cel -set-out-final-file przed wywołaniem celów debugowania lub zwolnienia.

Korzystanie zadanie release-brandA, ale stałby się w ten sposób:

<target name="release-brandA" 
     depends="default, -set-out-final-file, -set-release-mode, -release-obfuscation-check... 
+0

Dokładnie to, czego potrzebuję! Dziękuję Ci! – Arthur0902

1

Here znalazłem więcej lepsze wyjaśnienie i bardziej odpowiedni sposób, aby zastąpić cel zwalniający.

Proszę odnieść się do sekcji:

<target 
     name="release" 
     depends="custom-set-release-mode, android_rules.release" />