<?xml version="1.0" encoding="UTF-8"?>
<project name="android_rules" default="debug">
<!--
This build file is imported by the project build file. It contains
all the targets and tasks necessary to build Android projects, be they
regular projects, library projects, or test projects.
At the beginning of the file is a list of properties that can be overridden
by adding them to your ant.properties (properties are immutable, so their
first definition sticks and is never changed).
Follows:
- custom task definitions,
- more properties (do not override those unless the whole build system is modified).
- macros used throughout the build,
- base build targets,
- debug-specific build targets,
- release-specific build targets,
- instrument-specific build targets,
- test project-specific build targets,
- install targets,
- help target
-->
<!-- ******************************************************* -->
<!-- **************** Overridable Properties *************** -->
<!-- ******************************************************* -->
<!-- You can override these values in your build.xml or ant.properties.
Overriding any other properties may result in broken build. -->
<!-- Tells adb which device to target. You can change this from the command line
by invoking "ant -Dadb.device.arg=-d" for device "ant -Dadb.device.arg=-e" for
the emulator. -->
<property name="adb.device.arg" value="" />
<!-- fileset exclude patterns (space separated) to prevent
files inside src/ from being packaged. -->
<property name="android.package.excludes" value="" />
<!-- set some properties used for filtering/override. If those weren't defined
before, then this will create them with empty values, which are then ignored
by the custom tasks receiving them. -->
<property name="version.code" value="" />
<property name="version.name" value="" />
<property name="aapt.resource.filter" value="" />
<!-- 'aapt.ignore.assets' is the list of file patterns to ignore under /res and /assets.
Default is "!.svn:!.git:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
Overall patterns syntax is:
[!][<dir>|<file>][*suffix-match|prefix-match*|full-match]:more:patterns...
- The first character flag ! avoids printing a warning.
- Pattern can have the flag "<dir>" to match only directories
or "<file>" to match only files. Default is to match both.
- Match is not case-sensitive.
-->
<property name="aapt.ignore.assets" value="" />
<!-- dex force jumbo options, to be used when dex merging fails with
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dx.util.DexException: Cannot handle conversion to jumbo index!
at com.android.dx.merge.InstructionTransformer.jumboCheck(InstructionTransformer.java:103)
...
-->
<property name="dex.force.jumbo" value="false" />
<property name="dex.disable.merger" value="false" />
<!-- compilation options -->
<property name="java.encoding" value="UTF-8" />
<property name="java.target" value="1.7" />
<property name="java.source" value="1.7" />
<property name="java.compilerargs" value="" />
<property name="java.compiler.classpath" value="" />
<!-- Renderscript options -->
<property name="renderscript.debug.opt.level" value="O0" />
<property name="renderscript.release.opt.level" value="O3" />
<property name="renderscript.support.mode" value="false" />
<!-- manifest merger default value -->
<property name="manifestmerger.enabled" value="false" />
<!-- instrumentation options -->
<property name="emma.filter" value="" />
<!-- Verbosity -->
<property name="verbose" value="false" />
<!-- Output location of the HTML report for the "lint" target.
Ideally this would be specified as
value="${out.dir}/lint-results.html"
but we can't make a forward reference to the definition for
${out.dir}, and it is not a configurable property (yet).
-->
<property name="lint.out.html" value="bin/lint-results.html" />
<!-- Output location of the XML report for the "lint" target -->
<property name="lint.out.xml" value="bin/lint-results.xml" />
<!-- ******************************************************* -->
<!-- ********************* Custom Tasks ******************** -->
<!-- ******************************************************* -->
<!-- jar file from where the tasks are loaded -->
<path id="android.antlibs">
<pathelement path="${sdk.dir}/tools/lib/ant-tasks.jar" />
</path>
<!-- Custom tasks -->
<taskdef resource="anttasks.properties" classpathref="android.antlibs" />
<!-- Emma configuration -->
<property name="emma.dir" value="${sdk.dir}/tools/lib" />
<path id="emma.lib">
<pathelement location="${emma.dir}/emma.jar" />
<pathelement location="${emma.dir}/emma_ant.jar" />
</path>
<taskdef resource="emma_ant.properties" classpathref="emma.lib" />
<!-- End of emma configuration -->
<!-- ******************************************************* -->
<!-- ******************* Other Properties ****************** -->
<!-- ******************************************************* -->
<!-- overriding these properties may break the build
unless the whole file is updated -->
<!-- Input directories -->
<property name="source.dir" value="src" />
<property name="source.absolute.dir" location="${source.dir}" />
<property name="gen.absolute.dir" location="gen" />
<property name="resource.absolute.dir" location="res" />
<property name="asset.dir" value="assets" />
<property name="asset.absolute.dir" location="${asset.dir}" />
<property name="jar.libs.dir" value="libs" />
<property name="jar.libs.absolute.dir" location="${jar.libs.dir}" />
<property name="native.libs.absolute.dir" location="libs" />
<property name="manifest.file" value="AndroidManifest.xml" />
<property name="manifest.abs.file" location="${manifest.file}" />
<!-- Output directories -->
<property name="out.dir" value="bin" />
<property name="out.absolute.dir" location="${out.dir}" />
<property name="out.classes.absolute.dir" location="${out.dir}/classes" />
<property name="out.res.absolute.dir" location="${out.dir}/res" />
<property name="out.rs.obj.absolute.dir" location="${out.dir}/rsObj" />
<property name="out.rs.libs.absolute.dir" location="${out.dir}/rsLibs" />
<property name="out.aidl.absolute.dir" location="${out.dir}/aidl" />
<property name="out.dexed.absolute.dir" location="${out.dir}/dexedLibs" />
<property name="out.manifest.abs.file" location="${out.dir}/AndroidManifest.xml" />
<!-- tools location -->
<property name="android.tools.dir" location="${sdk.dir}/tools" />
<property name="android.platform.tools.dir" location="${sdk.dir}/platform-tools" />
<condition property="exe" value=".exe" else=""><os family="windows" /></condition>
<condition property="bat" value=".bat" else=""><os family="windows" /></condition>
<property name="adb" location="${android.platform.tools.dir}/adb${exe}" />
<property name="lint" location="${android.tools.dir}/lint${bat}" />
<!-- Intermediate files -->
<property name="dex.file.name" value="classes.dex" />
<property name="intermediate.dex.file" location="${out.absolute.dir}/${dex.file.name}" />
<property name="resource.package.file.name" value="${ant.project.name}.ap_" />
<!-- Build property file -->
<property name="out.build.prop.file" location="${out.absolute.dir}/build.prop" />
<!-- This is needed by emma as it uses multilevel verbosity instead of simple 'true' or 'false'
Th