1,45 → 1,22 |
<?xml version="1.0" ?> |
<project name="DUBwise" default="debug"> |
<!-- SDK Locations --> |
<property name="sdk-folder" value="/home/ligi/bin/android-sdk-linux_x86-0.9_beta" /> |
<property name="android-tools" value="/home/ligi/bin/android-sdk-linux_x86-0.9_beta/tools" /> |
<project name="DUBwise" default="package"> |
<property name="sdk-folder" value="/home/ligi/bin/android" /> |
<property name="android-tools" value="/home/ligi/bin/android/tools" /> |
<property name="android-framework" value="${android-tools}/lib/framework.aidl" /> |
|
<!-- Application Package Name --> |
<property name="application-package" value="org.ligi" /> |
|
<!-- The intermediates directory --> |
<!-- Eclipse uses "bin" for its own output, so we do the same. --> |
<property name="outdir" value="bin" /> |
|
<!-- ************************************************************************************* --> |
<!-- No user servicable parts below. --> |
|
<property name="android-framework" value="${android-tools}/lib/framework.aidl" /> |
|
<!-- Input directories --> |
<property name="resource-dir" value="res" /> |
<property name="asset-dir" value="assets" /> |
<property name="srcdir" value="src" /> |
<condition property="srcdir-ospath" |
value="${basedir}\${srcdir}" |
else="${basedir}/${srcdir}" > |
<os family="windows"/> |
</condition> |
|
<property name="external-libs" value="libs" /> |
<condition property="external-libs-ospath" |
value="${basedir}\${external-libs}" |
else="${basedir}/${external-libs}" > |
<os family="windows"/> |
</condition> |
|
<!-- Output directories --> |
<property name="outdir-classes" value="${outdir}/classes" /> |
<condition property="outdir-classes-ospath" |
value="${basedir}\${outdir-classes}" |
else="${basedir}/${outdir-classes}" > |
<os family="windows"/> |
</condition> |
|
<!-- Create R.java in the source directory --> |
<property name="outdir-r" value="src" /> |
47,58 → 24,22 |
<!-- Intermediate files --> |
<property name="dex-file" value="classes.dex" /> |
<property name="intermediate-dex" value="${outdir}/${dex-file}" /> |
<condition property="intermediate-dex-ospath" |
value="${basedir}\${intermediate-dex}" |
else="${basedir}/${intermediate-dex}" > |
<os family="windows"/> |
</condition> |
|
<!-- The final package file to generate --> |
<property name="resources-package" value="${outdir}/${ant.project.name}.ap_" /> |
<condition property="resources-package-ospath" |
value="${basedir}\${resources-package}" |
else="${basedir}/${resources-package}" > |
<os family="windows"/> |
</condition> |
<property name="out-package" value="${outdir}/${ant.project.name}.apk" /> |
|
<property name="out-debug-package" value="${outdir}/${ant.project.name}-debug.apk" /> |
<condition property="out-debug-package-ospath" |
value="${basedir}\${out-debug-package}" |
else="${basedir}/${out-debug-package}" > |
<os family="windows"/> |
</condition> |
|
<property name="out-unsigned-package" value="${outdir}/${ant.project.name}-unsigned.apk" /> |
<condition property="out-unsigned-package-ospath" |
value="${basedir}\${out-unsigned-package}" |
else="${basedir}/${out-unsigned-package}" > |
<os family="windows"/> |
</condition> |
|
<!-- Tools --> |
<condition property="aapt" value="${android-tools}/aapt.exe" else="${android-tools}/aapt" > |
<os family="windows"/> |
</condition> |
<condition property="aidl" value="${android-tools}/aidl.exe" else="${android-tools}/aidl" > |
<os family="windows"/> |
</condition> |
<condition property="adb" value="${android-tools}/adb.exe" else="${android-tools}/adb" > |
<os family="windows"/> |
</condition> |
<condition property="dx" value="${android-tools}/dx.bat" else="${android-tools}/dx" > |
<os family="windows"/> |
</condition> |
<condition property="apk-builder" value="${android-tools}/apkbuilder.bat" else="${android-tools}/apkbuilder" > |
<os family="windows"/> |
</condition> |
|
<property name="aapt" value="${android-tools}/aapt" /> |
<property name="aidl" value="${android-tools}/aidl" /> |
<property name="dx" value="${android-tools}/dx" /> |
<property name="adb" value="${android-tools}/adb" /> |
<property name="android-jar" value="${sdk-folder}/android.jar" /> |
<property name="zip" value="zip" /> |
|
<!-- Rules --> |
|
<!-- Create the output directories if they don't exist yet. --> |
<target name="dirs"> |
<echo>Creating output directories if needed...</echo> |
<mkdir dir="${outdir}" /> |
<mkdir dir="${outdir-classes}" /> |
</target> |
105,9 → 46,9 |
|
<!-- Generate the R.java file for this project's resources. --> |
<target name="resource-src" depends="dirs"> |
<echo>Generating R.java / Manifest.java from the resources...</echo> |
<echo>Generating R.java...</echo> |
<exec executable="${aapt}" failonerror="true"> |
<arg value="package" /> |
<arg value="compile" /> |
<arg value="-m" /> |
<arg value="-J" /> |
<arg value="${outdir-r}" /> |
122,7 → 63,6 |
|
<!-- Generate java classes from .aidl files. --> |
<target name="aidl" depends="dirs"> |
<echo>Compiling aidl files into Java classes...</echo> |
<apply executable="${aidl}" failonerror="true"> |
<arg value="-p${android-framework}" /> |
<arg value="-I${srcdir}" /> |
137,22 → 77,19 |
<javac encoding="ascii" target="1.5" debug="true" extdirs="" |
srcdir="." |
destdir="${outdir-classes}" |
bootclasspath="${android-jar}"> |
<classpath> |
<fileset dir="${external-libs}" includes="*.jar"/> |
</classpath> |
</javac> |
bootclasspath="${android-jar}" /> |
</target> |
|
<!-- Convert this project's .class files into .dex files. --> |
<target name="dex" depends="compile"> |
<echo>Converting compiled files and external libraries into ${outdir}/${dex-file}...</echo> |
<apply executable="${dx}" failonerror="true" parallel="true"> |
<exec executable="${dx}" failonerror="true"> |
<arg value="-JXmx384M" /> |
<arg value="--dex" /> |
<arg value="--output=${intermediate-dex-ospath}" /> |
<arg path="${outdir-classes-ospath}" /> |
<fileset dir="${external-libs}" includes="*.jar"/> |
</apply> |
<arg value="--output=${basedir}/${intermediate-dex}" /> |
<arg value="--locals=full" /> |
<arg value="--positions=lines" /> |
<arg path="${basedir}/${outdir-classes}" /> |
</exec> |
</target> |
|
<!-- Put the project's resources into the output package file. --> |
161,6 → 98,7 |
<exec executable="${aapt}" failonerror="true"> |
<arg value="package" /> |
<arg value="-f" /> |
<arg value="-c" /> |
<arg value="-M" /> |
<arg value="AndroidManifest.xml" /> |
<arg value="-S" /> |
169,8 → 107,7 |
<arg value="${asset-dir}" /> |
<arg value="-I" /> |
<arg value="${android-jar}" /> |
<arg value="-F" /> |
<arg value="${resources-package}" /> |
<arg value="${out-package}" /> |
</exec> |
</target> |
|
180,6 → 117,7 |
<exec executable="${aapt}" failonerror="true"> |
<arg value="package" /> |
<arg value="-f" /> |
<arg value="-c" /> |
<arg value="-M" /> |
<arg value="AndroidManifest.xml" /> |
<arg value="-S" /> |
187,8 → 125,7 |
<!-- No assets directory --> |
<arg value="-I" /> |
<arg value="${android-jar}" /> |
<arg value="-F" /> |
<arg value="${resources-package}" /> |
<arg value="${out-package}" /> |
</exec> |
</target> |
|
203,67 → 140,38 |
<antcall target="package-res-${res-target}" /> |
</target> |
|
<!-- Package the application and sign it with a debug key. |
This is the default target when building. It is used for debug. --> |
<target name="debug" depends="dex, package-res"> |
<echo>Packaging ${out-debug-package}, and signing it with a debug key...</echo> |
<exec executable="${apk-builder}" failonerror="true"> |
<arg value="${out-debug-package-ospath}" /> |
<arg value="-z" /> |
<arg value="${resources-package-ospath}" /> |
<arg value="-f" /> |
<arg value="${intermediate-dex-ospath}" /> |
<arg value="-rf" /> |
<arg value="${srcdir-ospath}" /> |
<arg value="-rj" /> |
<arg value="${external-libs-ospath}" /> |
</exec> |
<!-- Put the project's .class files into the output package file. --> |
<target name="package-java" depends="compile, package-res"> |
<echo>Packaging java...</echo> |
<jar destfile="${out-package}" |
basedir="${outdir-classes}" |
update="true" /> |
</target> |
|
<!-- Package the application without signing it. |
This allows for the application to be signed later with an official publishing key. --> |
<target name="release" depends="dex, package-res"> |
<echo>Packaging ${out-unsigned-package} for release...</echo> |
<exec executable="${apk-builder}" failonerror="true"> |
<arg value="${out-unsigned-package-ospath}" /> |
<arg value="-u" /> |
<arg value="-z" /> |
<arg value="${resources-package-ospath}" /> |
<arg value="-f" /> |
<arg value="${intermediate-dex-ospath}" /> |
<arg value="-rf" /> |
<arg value="${srcdir-ospath}" /> |
<arg value="-rj" /> |
<arg value="${external-libs-ospath}" /> |
<!-- Put the project's .dex files into the output package file. |
Use the "zip" command, available on most un*x/Linux/MacOS systems, |
to create the new package (Ant 1.7 has an internal 'zip' command, |
however Ant 1.6.5 lacks it and is still widely installed.) |
--> |
<target name="package-dex" depends="dex, package-res"> |
<echo>Packaging dex...</echo> |
<exec executable="${zip}" failonerror="true"> |
<arg value="-qj" /> |
<arg value="${out-package}" /> |
<arg value="${intermediate-dex}" /> |
</exec> |
<echo>It will need to be signed with jarsigner before being published.</echo> |
</target> |
|
<!-- Install the package on the default emulator --> |
<target name="install" depends="debug"> |
<echo>Installing ${out-debug-package} onto default emulator...</echo> |
<exec executable="${adb}" failonerror="true"> |
<arg value="install" /> |
<arg value="${out-debug-package}" /> |
</exec> |
</target> |
<!-- Create the package file for this project from the sources. --> |
<target name="package" depends="package-dex" /> |
|
<target name="reinstall" depends="debug"> |
<echo>Installing ${out-debug-package} onto default emulator...</echo> |
<!-- Create the package and install package on the default emulator --> |
<target name="install" depends="package"> |
<echo>Sending package to default emulator...</echo> |
<exec executable="${adb}" failonerror="true"> |
<arg value="install" /> |
<arg value="-r" /> |
<arg value="${out-debug-package}" /> |
<arg value="${out-package}" /> |
</exec> |
</target> |
|
<!-- Uinstall the package from the default emulator --> |
<target name="uninstall"> |
<echo>Uninstalling ${application-package} from the default emulator...</echo> |
<exec executable="${adb}" failonerror="true"> |
<arg value="uninstall" /> |
<arg value="${application-package}" /> |
</exec> |
</target> |
|
</project> |