OLD | NEW |
---|---|
(Empty) | |
1 <?xml version="1.0" encoding="UTF-8"?> | |
2 <!-- | |
3 Copyright (C) 2005-2008 The Android Open Source Project | |
4 | |
5 Licensed under the Apache License, Version 2.0 (the "License"); | |
6 you may not use this file except in compliance with the License. | |
7 You may obtain a copy of the License at | |
8 | |
9 http://www.apache.org/licenses/LICENSE-2.0 | |
10 | |
11 Unless required by applicable law or agreed to in writing, software | |
12 distributed under the License is distributed on an "AS IS" BASIS, | |
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 See the License for the specific language governing permissions and | |
15 limitations under the License. | |
16 --> | |
17 | |
18 <project default="-do-sign"> | |
19 <property name="verbose" value="false" /> | |
20 <property name="out.dir" location="${OUT_DIR}" /> | |
21 <!-- Output directories --> | |
22 <property name="out.dir" value="bin" /> | |
23 <property name="out.absolute.dir" location="${out.dir}" /> | |
24 <property name="out.res.absolute.dir" location="${out.dir}/res" /> | |
25 <property name="out.manifest.abs.file" location="${out.dir}/AndroidManifest.xm l" /> | |
26 | |
27 <!-- tools location --> | |
28 <property name="sdk.dir" location="${ANDROID_SDK_ROOT}"/> | |
29 <property name="target" value="android-${ANDROID_SDK_VERSION}"/> | |
30 <property name="project.target.android.jar" location="${ANDROID_SDK_JAR}" /> | |
31 <property name="android.tools.dir" location="${sdk.dir}/tools" /> | |
32 <property name="android.platform.tools.dir" location="${sdk.dir}/platform-tool s" /> | |
33 | |
34 <!-- jar file from where the tasks are loaded --> | |
35 <path id="android.antlibs"> | |
36 <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" /> | |
37 </path> | |
38 | |
39 <!-- Custom tasks --> | |
40 <taskdef resource="anttasks.properties" classpathref="android.antlibs" /> | |
41 | |
42 <property name="configuration.name" value="${CONFIGURATION_NAME}" /> | |
Yaron
2013/03/22 22:32:35
Doesn't look like this is used. Either use the ant
cjhopman
2013/03/25 17:38:01
Done.
| |
43 <condition property="build.target" value="release" else="debug"> | |
44 <equals arg1="${CONFIGURATION_NAME}" arg2="Release" /> | |
45 </condition> | |
46 <condition property="build.is.packaging.debug" value="true" else="false"> | |
47 <equals arg1="build.target" arg2="debug" /> | |
48 </condition> | |
49 | |
50 | |
51 <!-- Set the output directory for the final apk to the ${apks.dir}. --> | |
52 <property name="out.final.file" location="${APKS_DIR}/${APK_NAME}.apk" /> | |
53 | |
54 <!-- Disables automatic signing. --> | |
55 <property name="build.is.signing.debug" value="false"/> | |
56 | |
57 <!-- SDK tools assume that out.packaged.file is signed and name it "...-unalig ned" --> | |
58 <property name="out.packaged.file" value="${out.dir}/${APK_NAME}-unsigned.apk" /> | |
59 <property name="out.unaligned.file" value="${out.dir}/${APK_NAME}-unaligned.ap k" /> | |
60 | |
61 <property name="resource.dir" value="${RESOURCE_DIR}"/> | |
62 <property name="resource.absolute.dir" location="${resource.dir}"/> | |
63 | |
64 <property name="asset.dir" value="${ASSET_DIR}" /> | |
65 <property name="asset.absolute.dir" location="${asset.dir}" /> | |
66 | |
67 <property name="native.libs.absolute.dir" location="${out.dir}/libs" /> | |
68 | |
69 <property name="aapt" location="${android.platform.tools.dir}/aapt" /> | |
70 | |
71 <target name="-crunch"> | |
72 <!-- Updates the pre-processed PNG cache --> | |
73 <exec executable="${aapt}" taskName="crunch"> | |
74 <arg value="crunch" /> | |
75 <arg value="-v" /> | |
76 <arg value="-S" /> | |
77 <arg path="${resource.absolute.dir}" /> | |
78 <arg value="-C" /> | |
79 <arg path="${out.res.absolute.dir}" /> | |
80 </exec> | |
81 </target> | |
82 | |
83 <property name="version.code" value="${APP_MANIFEST_VERSION_CODE}"/> | |
84 <property name="version.name" value="${APP_MANIFEST_VERSION_NAME}"/> | |
85 | |
86 <property name="aapt.resource.filter" value="" /> | |
87 <!-- 'aapt.ignore.assets' is the list of file patterns to ignore under /res an d /assets. | |
88 Default is "!.svn:!.git:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:* ~" | |
89 | |
90 Overall patterns syntax is: | |
91 [!][<dir>|<file>][*suffix-match|prefix-match*|full-match]:more:patter ns... | |
92 | |
93 - The first character flag ! avoids printing a warning. | |
94 - Pattern can have the flag "<dir>" to match only directories | |
95 or "<file>" to match only files. Default is to match both. | |
96 - Match is not case-sensitive. | |
97 --> | |
98 <property name="aapt.ignore.assets" value="" /> | |
99 | |
100 <!-- | |
101 Include additional resource folders in the apk, e.g. content/.../res. We | |
102 list the res folders in project.library.res.folder.path and the | |
103 corresponding java packages in project.library.packages, which must be | |
104 semicolon-delimited while ADDITIONAL_RES_PACKAGES is space-delimited, henc e | |
105 the javascript task. | |
106 --> | |
107 <path id="project.library.res.folder.path"> | |
108 <filelist files="${ADDITIONAL_RES_DIRS}"/> | |
109 </path> | |
110 <path id="project.library.bin.r.file.path"> | |
111 <filelist files="${ADDITIONAL_R_TEXT_FILES}"/> | |
112 </path> | |
113 <script language="javascript"> | |
114 var before = project.getProperty("ADDITIONAL_RES_PACKAGES"); | |
115 project.setProperty("project.library.packages", before.replaceAll(" ", ";")) ; | |
116 </script> | |
117 | |
118 <property name="build.packaging.nocrunch" value="true" /> | |
119 | |
120 <!-- Intermediate files --> | |
121 <property name="resource.package.file.name" value="${APK_NAME}.ap_" /> | |
122 | |
123 <target name="-package-resources" depends="-crunch"> | |
124 <aapt | |
125 executable="${aapt}" | |
126 command="package" | |
127 versioncode="${version.code}" | |
128 versionname="${version.name}" | |
129 debug="${build.is.packaging.debug}" | |
130 manifest="${out.manifest.abs.file}" | |
131 assets="${asset.absolute.dir}" | |
132 androidjar="${project.target.android.jar}" | |
133 apkfolder="${out.absolute.dir}" | |
134 nocrunch="${build.packaging.nocrunch}" | |
135 resourcefilename="${resource.package.file.name}" | |
136 resourcefilter="${aapt.resource.filter}" | |
137 libraryResFolderPathRefid="project.library.res.folder.path" | |
138 libraryPackagesRefid="project.library.packages" | |
139 libraryRFileRefid="project.library.bin.r.file.path" | |
140 previousBuildType="" | |
141 buildType="${build.target}" | |
142 ignoreAssets="${aapt.ignore.assets}"> | |
143 <res path="${out.res.absolute.dir}" /> | |
144 <res path="${resource.absolute.dir}" /> | |
145 <!-- <nocompress /> forces no compression on any files in assets or res/ra w --> | |
146 <!-- <nocompress extension="xml" /> forces no compression on specific file extensions in assets and res/raw --> | |
147 </aapt> | |
148 </target> | |
149 | |
150 <property name="dex.file.name" value="classes.dex" /> | |
151 <property name="intermediate.dex.file" location="${out.absolute.dir}/${dex.fil e.name}" /> | |
152 <property name="source.dir" value="${SOURCE_DIR}" /> | |
153 <property name="source.absolute.dir" location="${source.dir}" /> | |
154 | |
155 | |
156 <!-- Packages the application. --> | |
157 <target name="-package" depends="-package-resources"> | |
158 <apkbuilder | |
159 outfolder="${out.absolute.dir}" | |
160 resourcefile="${resource.package.file.name}" | |
161 apkfilepath="${out.packaged.file}" | |
162 debugpackaging="${build.is.packaging.debug}" | |
163 debugsigning="${build.is.signing.debug}" | |
164 verbose="${verbose}" | |
165 hascode="true" | |
166 previousBuildType="/" | |
167 buildType="${build.is.packaging.debug}/${build.is.signing.debug}"> | |
168 <dex path="${intermediate.dex.file}"/> | |
169 <sourcefolder path="${source.absolute.dir}"/> | |
170 <nativefolder path="${native.libs.absolute.dir}" /> | |
171 </apkbuilder> | |
172 </target> | |
173 | |
174 | |
175 | |
176 <property name="key.store" value="${KEYSTORE_PATH}"/> | |
177 <property name="key.store.password" value="chromium"/> | |
178 <property name="key.alias" value="chromiumdebugkey"/> | |
179 <property name="key.alias.password" value="chromium"/> | |
180 <property name="zipalign" location="${android.tools.dir}/zipalign" /> | |
181 | |
182 <!-- Signs and zipaligns the apk. --> | |
183 <target name="-do-sign" depends="-package"> | |
184 <sequential> | |
185 <echo level="info">Signing final apk...</echo> | |
186 <signapk | |
187 input="${out.packaged.file}" | |
188 output="${out.unaligned.file}" | |
189 keystore="${key.store}" | |
190 storepass="${key.store.password}" | |
191 alias="${key.alias}" | |
192 keypass="${key.alias.password}" /> | |
193 | |
194 <zipalign | |
195 executable="${zipalign}" | |
196 input="${out.unaligned.file}" | |
197 output="${out.final.file}" | |
198 verbose="${verbose}" /> | |
199 <echo level="info">Release Package: ${out.final.file}</echo> | |
200 </sequential> | |
201 </target> | |
202 </project> | |
OLD | NEW |