Index: build/android/ant/apk-package.xml |
diff --git a/build/android/ant/apk-package.xml b/build/android/ant/apk-package.xml |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ca5187874c385846b36544a933d396cb7b2fc1f2 |
--- /dev/null |
+++ b/build/android/ant/apk-package.xml |
@@ -0,0 +1,201 @@ |
+<?xml version="1.0" encoding="UTF-8"?> |
+<!-- |
+ Copyright (C) 2005-2008 The Android Open Source Project |
+ |
+ Licensed under the Apache License, Version 2.0 (the "License"); |
+ you may not use this file except in compliance with the License. |
+ You may obtain a copy of the License at |
+ |
+ http://www.apache.org/licenses/LICENSE-2.0 |
+ |
+ Unless required by applicable law or agreed to in writing, software |
+ distributed under the License is distributed on an "AS IS" BASIS, |
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+ See the License for the specific language governing permissions and |
+ limitations under the License. |
+--> |
+ |
+<project default="-do-sign"> |
+ <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.res.absolute.dir" location="${out.dir}/res" /> |
+ <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="project.target.android.jar" location="${ANDROID_SDK_JAR}" /> |
+ <property name="android.tools.dir" location="${sdk.dir}/tools" /> |
+ <property name="android.platform.tools.dir" location="${sdk.dir}/platform-tools" /> |
+ |
+ <!-- jar file from where the tasks are loaded --> |
+ <path id="android.antlibs"> |
+ <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" /> |
+ </path> |
+ |
+ <!-- Custom tasks --> |
+ <taskdef resource="anttasks.properties" classpathref="android.antlibs" /> |
+ |
+ <condition property="build.target" value="release" else="debug"> |
+ <equals arg1="${CONFIGURATION_NAME}" arg2="Release" /> |
+ </condition> |
+ <condition property="build.is.packaging.debug" value="true" else="false"> |
+ <equals arg1="build.target" arg2="debug" /> |
+ </condition> |
+ |
+ |
+ <!-- Set the output directory for the final apk to the ${apks.dir}. --> |
+ <property name="out.final.file" location="${APKS_DIR}/${APK_NAME}.apk" /> |
+ |
+ <!-- Disables automatic signing. --> |
+ <property name="build.is.signing.debug" value="false"/> |
+ |
+ <!-- SDK tools assume that out.packaged.file is signed and name it "...-unaligned" --> |
+ <property name="out.packaged.file" value="${out.dir}/${APK_NAME}-unsigned.apk" /> |
+ <property name="out.unaligned.file" value="${out.dir}/${APK_NAME}-unaligned.apk" /> |
+ |
+ <property name="resource.dir" value="${RESOURCE_DIR}"/> |
+ <property name="resource.absolute.dir" location="${resource.dir}"/> |
+ |
+ <property name="asset.dir" value="${ASSET_DIR}" /> |
+ <property name="asset.absolute.dir" location="${asset.dir}" /> |
+ |
+ <property name="native.libs.absolute.dir" location="${out.dir}/libs" /> |
+ |
+ <property name="aapt" location="${android.platform.tools.dir}/aapt" /> |
+ |
+ <target name="-crunch"> |
+ <!-- Updates the pre-processed PNG cache --> |
+ <exec executable="${aapt}" taskName="crunch"> |
+ <arg value="crunch" /> |
+ <arg value="-v" /> |
+ <arg value="-S" /> |
+ <arg path="${resource.absolute.dir}" /> |
+ <arg value="-C" /> |
+ <arg path="${out.res.absolute.dir}" /> |
+ </exec> |
+ </target> |
+ |
+ <property name="version.code" value="${APP_MANIFEST_VERSION_CODE}"/> |
+ <property name="version.name" value="${APP_MANIFEST_VERSION_NAME}"/> |
+ |
+ <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="" /> |
+ |
+ <!-- |
+ Include additional resource folders in the apk, e.g. content/.../res. We |
+ list the res folders in project.library.res.folder.path and the |
+ corresponding java packages in project.library.packages, which must be |
+ semicolon-delimited while ADDITIONAL_RES_PACKAGES is space-delimited, hence |
+ the javascript task. |
+ --> |
+ <path id="project.library.res.folder.path"> |
+ <filelist files="${ADDITIONAL_RES_DIRS}"/> |
+ </path> |
+ <path id="project.library.bin.r.file.path"> |
+ <filelist files="${ADDITIONAL_R_TEXT_FILES}"/> |
+ </path> |
+ <script language="javascript"> |
+ var before = project.getProperty("ADDITIONAL_RES_PACKAGES"); |
+ project.setProperty("project.library.packages", before.replaceAll(" ", ";")); |
+ </script> |
+ |
+ <property name="build.packaging.nocrunch" value="true" /> |
+ |
+ <!-- Intermediate files --> |
+ <property name="resource.package.file.name" value="${APK_NAME}.ap_" /> |
+ |
+ <target name="-package-resources" depends="-crunch"> |
+ <aapt |
+ executable="${aapt}" |
+ command="package" |
+ versioncode="${version.code}" |
+ versionname="${version.name}" |
+ debug="${build.is.packaging.debug}" |
+ manifest="${out.manifest.abs.file}" |
+ assets="${asset.absolute.dir}" |
+ androidjar="${project.target.android.jar}" |
+ apkfolder="${out.absolute.dir}" |
+ nocrunch="${build.packaging.nocrunch}" |
+ resourcefilename="${resource.package.file.name}" |
+ resourcefilter="${aapt.resource.filter}" |
+ libraryResFolderPathRefid="project.library.res.folder.path" |
+ libraryPackagesRefid="project.library.packages" |
+ libraryRFileRefid="project.library.bin.r.file.path" |
+ previousBuildType="" |
+ buildType="${build.target}" |
+ ignoreAssets="${aapt.ignore.assets}"> |
+ <res path="${out.res.absolute.dir}" /> |
+ <res path="${resource.absolute.dir}" /> |
+ <!-- <nocompress /> forces no compression on any files in assets or res/raw --> |
+ <!-- <nocompress extension="xml" /> forces no compression on specific file extensions in assets and res/raw --> |
+ </aapt> |
+ </target> |
+ |
+ <property name="dex.file.name" value="classes.dex" /> |
+ <property name="intermediate.dex.file" location="${out.absolute.dir}/${dex.file.name}" /> |
+ <property name="source.dir" value="${SOURCE_DIR}" /> |
+ <property name="source.absolute.dir" location="${source.dir}" /> |
+ |
+ |
+ <!-- Packages the application. --> |
+ <target name="-package" depends="-package-resources"> |
+ <apkbuilder |
+ outfolder="${out.absolute.dir}" |
+ resourcefile="${resource.package.file.name}" |
+ apkfilepath="${out.packaged.file}" |
+ debugpackaging="${build.is.packaging.debug}" |
+ debugsigning="${build.is.signing.debug}" |
+ verbose="${verbose}" |
+ hascode="true" |
+ previousBuildType="/" |
+ buildType="${build.is.packaging.debug}/${build.is.signing.debug}"> |
+ <dex path="${intermediate.dex.file}"/> |
+ <sourcefolder path="${source.absolute.dir}"/> |
+ <nativefolder path="${native.libs.absolute.dir}" /> |
+ </apkbuilder> |
+ </target> |
+ |
+ |
+ |
+ <property name="key.store" value="${KEYSTORE_PATH}"/> |
+ <property name="key.store.password" value="chromium"/> |
+ <property name="key.alias" value="chromiumdebugkey"/> |
+ <property name="key.alias.password" value="chromium"/> |
+ <property name="zipalign" location="${android.tools.dir}/zipalign" /> |
+ |
+ <!-- Signs and zipaligns the apk. --> |
+ <target name="-do-sign" depends="-package"> |
+ <sequential> |
+ <echo level="info">Signing final apk...</echo> |
+ <signapk |
+ input="${out.packaged.file}" |
+ output="${out.unaligned.file}" |
+ keystore="${key.store}" |
+ storepass="${key.store.password}" |
+ alias="${key.alias}" |
+ keypass="${key.alias.password}" /> |
+ |
+ <zipalign |
+ executable="${zipalign}" |
+ input="${out.unaligned.file}" |
+ output="${out.final.file}" |
+ verbose="${verbose}" /> |
+ <echo level="info">Release Package: ${out.final.file}</echo> |
+ </sequential> |
+ </target> |
+</project> |