| Index: build/android/ant/apk-obfuscate.xml
|
| diff --git a/build/android/ant/apk-compile.xml b/build/android/ant/apk-obfuscate.xml
|
| similarity index 60%
|
| copy from build/android/ant/apk-compile.xml
|
| copy to build/android/ant/apk-obfuscate.xml
|
| index 10ffd374a0df21a2dd38a043223d42567916a760..bdc8a793f1c3de4bd27474dc66a8365c94ae2378 100644
|
| --- a/build/android/ant/apk-compile.xml
|
| +++ b/build/android/ant/apk-obfuscate.xml
|
| @@ -15,26 +15,19 @@
|
| limitations under the License.
|
| -->
|
|
|
| -<project default="-dex">
|
| +<project default="-obfuscate">
|
| <property name="verbose" value="false" />
|
| <property name="out.dir" location="${OUT_DIR}" />
|
| <!-- 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.dexed.absolute.dir" location="${out.dir}/dexedLibs" />
|
| <property name="out.manifest.abs.file" location="${out.dir}/AndroidManifest.xml" />
|
|
|
| <!-- tools location -->
|
| <property name="sdk.dir" location="${ANDROID_SDK_ROOT}"/>
|
| <property name="target" value="android-${ANDROID_SDK_VERSION}"/>
|
| <property name="android.tools.dir" location="${sdk.dir}/tools" />
|
| - <property name="android.platform.tools.dir" location="${sdk.dir}/platform-tools" />
|
| -
|
| - <property name="project.target.android.jar" location="${ANDROID_SDK_JAR}" />
|
| - <path id="project.target.class.path">
|
| - <pathelement location="${project.target.android.jar}" />
|
| - </path>
|
|
|
|
|
| <!-- jar file from where the tasks are loaded -->
|
| @@ -45,96 +38,15 @@
|
| <!-- Custom tasks -->
|
| <taskdef resource="anttasks.properties" classpathref="android.antlibs" />
|
|
|
| -
|
| - <path id="javac.srcdirs.additional">
|
| - <filelist files="${ADDITIONAL_SRC_DIRS}"/>
|
| - <filelist files="${GENERATED_SRC_DIRS}"/>
|
| - </path>
|
| -
|
| <!-- Classpath for javac -->
|
| <path id="javac.custom.classpath">
|
| <filelist files="${INPUT_JARS_PATHS}"/>
|
| </path>
|
|
|
| - <!--
|
| - TODO(cjhopman): This is wrong for proguard builds. In that case, it should be just the
|
| - obfuscated jar.
|
| - -->
|
| - <path id="out.dex.jar.input.ref">
|
| - <path refid="javac.custom.classpath"/>
|
| - </path>
|
| -
|
| - <!-- compilation options -->
|
| - <property name="java.encoding" value="UTF-8" />
|
| - <property name="java.target" value="1.5" />
|
| - <property name="java.source" value="1.5" />
|
| - <property name="java.compilerargs" value="" />
|
| -
|
| - <property name="source.dir" value="${SOURCE_DIR}" />
|
| - <property name="source.absolute.dir" location="${source.dir}" />
|
| - <property name="gen.absolute.dir" value="${out.dir}/gen"/>
|
| -
|
| - <property name="dx" location="${android.platform.tools.dir}/dx" />
|
| -
|
| - <property name="need.javac.fork" value="false" />
|
| <condition property="project.is.testapp" value="true" else="false">
|
| <equals arg1="${IS_TEST_APK}" arg2="1" />
|
| </condition>
|
|
|
| - <!--
|
| - Override the -compile target.
|
| - This target requires 'javac.custom.classpath' to be set to reference
|
| - of classpath to be used for javac. Also accepts custom path for
|
| - sources: 'javac.custom.sourcepath'.
|
| - -->
|
| - <!-- Compiles this project's .java files into .class files. -->
|
| - <target name="-compile">
|
| -
|
| - <mkdir dir="${out.classes.absolute.dir}" />
|
| - <mkdir dir="${out.dexed.absolute.dir}" />
|
| - <delete>
|
| - <fileset dir="${out.classes.absolute.dir}" includes="**/*.class"/>
|
| - </delete>
|
| -
|
| - <javac
|
| - bootclasspathref="project.target.class.path"
|
| - classpathref="javac.custom.classpath"
|
| - debug="true"
|
| - destdir="${out.classes.absolute.dir}"
|
| - encoding="${java.encoding}"
|
| - extdirs=""
|
| - fork="${need.javac.fork}"
|
| - includeantruntime="false"
|
| - source="${java.source}"
|
| - target="${java.target}"
|
| - verbose="${verbose}">
|
| - <src path="${source.absolute.dir}"/>
|
| - <src path="${gen.absolute.dir}"/>
|
| - <src>
|
| - <path refid="javac.srcdirs.additional"/>
|
| - </src>
|
| - <compilerarg value="-Xlint:unchecked"/>
|
| - <compilerarg line="${java.compilerargs}"/>
|
| - </javac>
|
| -
|
| - <if condition="${project.is.testapp}">
|
| - <then>
|
| - <!-- get the project manifest package -->
|
| - <xpath input="${out.manifest.abs.file}"
|
| - expression="/manifest/@package" output="project.app.package" />
|
| - <property name="create.test.jar.file"
|
| - location="${CREATE_TEST_JAR_PATH}" />
|
| - <script language="javascript" src="${create.test.jar.file}"/>
|
| - </then>
|
| - </if>
|
| -
|
| - <!-- Package all the compiled .class files into a .jar. -->
|
| - <jar
|
| - jarfile="${JAR_PATH}"
|
| - basedir="${out.classes.absolute.dir}"
|
| - />
|
| - </target>
|
| -
|
| <property name="proguard.enabled" value="${PROGUARD_ENABLED}" />
|
| <property name="proguard.config" value="${PROGUARD_FLAGS}" />
|
|
|
| @@ -147,15 +59,23 @@
|
| Override obfuscate target to pass javac.custom.classpath to Proguard. SDK tools do not provide
|
| any way to pass custom class paths to Proguard.
|
| -->
|
| - <target name="-obfuscate" depends="-compile">
|
| + <target name="-obfuscate">
|
| + <if condition="${project.is.testapp}">
|
| + <then>
|
| + <!-- get the project manifest package -->
|
| + <xpath input="${out.manifest.abs.file}"
|
| + expression="/manifest/@package" output="project.app.package" />
|
| + <property name="create.test.jar.file"
|
| + location="${CREATE_TEST_JAR_PATH}" />
|
| + <script language="javascript" src="${create.test.jar.file}"/>
|
| + </then>
|
| + </if>
|
| <if condition="${proguard.enabled}">
|
| <then>
|
| - <path id="out.dex.jar.input.ref" />
|
| <property name="obfuscate.absolute.dir" location="${out.absolute.dir}/proguard"/>
|
| <property name="preobfuscate.jar.file" value="${obfuscate.absolute.dir}/original.jar"/>
|
| - <property name="obfuscated.jar.file" value="${obfuscate.absolute.dir}/obfuscated.jar"/>
|
| - <!-- input for dex will be proguard's output -->
|
| - <property name="out.dex.input.absolute.dir" value="${obfuscated.jar.file}"/>
|
| + <property name="obfuscated.jar.file" value="${OBFUSCATED_JAR_PATH}"/>
|
| + <property name="obfuscated.jar.abs.file" location="${obfuscated.jar.file}"/>
|
|
|
| <!-- Add Proguard Tasks -->
|
| <property name="proguard.jar" location="${android.tools.dir}/proguard/lib/proguard.jar"/>
|
| @@ -205,14 +125,14 @@
|
|
|
| <mkdir dir="${obfuscate.absolute.dir}"/>
|
| <delete file="${preobfuscate.jar.file}"/>
|
| - <delete file="${obfuscated.jar.file}"/>
|
| + <delete file="${obfuscated.jar.abs.file}"/>
|
| <jar basedir="${out.classes.absolute.dir}"
|
| destfile="${preobfuscate.jar.file}"/>
|
| <proguard>
|
| -include "${proguard.configcmd}"
|
| -include "${out.absolute.dir}/proguard.txt"
|
| -injars ${project.all.classes.value}
|
| - -outjars "${obfuscated.jar.file}"
|
| + -outjars "${obfuscated.jar.abs.file}"
|
| -libraryjars ${project.target.classpath.value}
|
| -dump "${obfuscate.absolute.dir}/dump.txt"
|
| -printseeds "${obfuscate.absolute.dir}/seeds.txt"
|
| @@ -221,27 +141,6 @@
|
| </proguard>
|
| </then>
|
| </if>
|
| - </target>
|
| -
|
| - <property name="dex.file.name" value="classes.dex" />
|
| - <property name="intermediate.dex.file" location="${out.absolute.dir}/${dex.file.name}" />
|
| -
|
| - <!-- Converts this project's .class files into .dex files -->
|
| - <target name="-dex" depends="-obfuscate">
|
| - <!-- sets the primary input for dex. If a pre-dex task sets it to
|
| - something else this has no effect -->
|
| - <property name="out.dex.input.absolute.dir" value="${out.classes.absolute.dir}" />
|
| - <property name="dex.force.jumbo" value="false" />
|
| -
|
| - <dex executable="${dx}"
|
| - output="${intermediate.dex.file}"
|
| - dexedlibs="${out.dexed.absolute.dir}"
|
| - nolocals="false"
|
| - forceJumbo="${dex.force.jumbo}"
|
| - verbose="${verbose}">
|
| - <path path="${out.dex.input.absolute.dir}"/>
|
| - <path refid="out.dex.jar.input.ref" />
|
| - </dex>
|
| - <touch file="${STAMP}" />
|
| + <touch file="${STAMP}" />
|
| </target>
|
| </project>
|
|
|