<? XML version = "1.0" encoding = "UTF-8"?>
<! -- Step
1. Use aapt to generate R. Java
2. compile Java files using javac
3. Batch generate classes. Dex
4. aapt package Resources
5.apk builder package resources and class files are APK files
6. jarsinger signs the APK -->
<Project name = "yunmi" default = "zipalign" basedir = ".">
<Property file = "Local. properties"/>
<Property name = "azonelib" value = "./Libs"/>
<Property name = "SDK-path" value = "D: \ Yunos-SDK-Windows"/>
<Property name = "SDK-platform-Tools" value = "$ {SDK-path}/platform-Tools"/>
<Property name = "SDK-Tools" value = "$ {SDK-path}/tools"/>
<Property name = "SDK-platform" value = "$ {SDK-path}/platforms/Android-4.0.4"/>
<! -- Define your own output directory -->
<Property name = "outdir" value = "outdir"/>
<Property name = "Out. Absolute. dir" location = "$ {outdir}"/>
<! -- Define all directories of R. Java -->
<Property name = "outdir-gen" value = "gen"/>
<Property name = "keystore" value = "./Myf. keystore"> </property>
<! -- Read directory -->
<Property name = "resource-Dir" value = "res"/>
<Property name = "asset-Dir" value = "assets"/>
<Property name = "src-Dir" value = "src"/>
<Property name = "src-Dir-ospath" value = "$ {basedir}/$ {Src-Dir}"/>
<! -- Output directory -->
<Property name = "outdir-classes" value = "$ {outdir}/classes"/>
<Property name = "Out. classes. Absolute. dir" location = "$ {outdir-classes}"/>
<! -- Temporary class resource file -->
<Property name = "Dex-file" value = "classes. Dex"/>
<Property name = "Intermediate-Dex" value = "$ {out. Absolute. dir}/$ {Dex-file}"/>
<! -- Generate the final file -->
<Property name = "out-package" value = "$ {outdir}/registrant.project.name).apk"/>
<! -- Tool to be used -->
<Property name = "aapt" value = "$ {SDK-platform-tools}/aapt.exe"/>
<Property name = "aidl" value = "$ {SDK-platform-tools}/aidl.exe"/>
<Property name = "dx" value = "$ {SDK-platform-tools}/dx. Bat"/>
<Property name = "ADB" value = "$ {SDK-platform-tools}/adb.exe"/>
<Property name = "APK-builder" value = "$ {SDK-tools}/apkbuilder. Bat"/>
<Property name = "Android-jar" value = "$ {SDK-platform}/Android. Jar"/>
<! -- Finally generate various package files -->
<Property name = "resources-package" value = "$ {outdir}/$ {ant. Project. name}"/>
<Property name = "resources-package-ospath" value = "$ {basedir}/$ {resources-package}"/>
<Property name = "out-Unsigned-package" value = "$ {outdir}/registrant.project.name#-unsigned.apk"/>
<Property name = "out-Unsigned-package-ospath" value = "$ {basedir}/$ {out-Unsigned-package}"/>
<Property name = "out-signed-package" value = "$ {outdir}/${ant.project.name#-signed.apk"/>
<Property name = "out-signed-package-ospath" value = "$ {basedir}/$ {out-signed-package}"/>
<Property name = "zipalign-package-ospath" value = "$ {basedir}/$ {outdir}/${ant.project.name1__release.apk"/>
<! -- Signature tool -->
<Property name = "jarsigner" value = "jarsigner"/>
<! -- Optimized the APK tool -->
<Property name = "zipalign" value = "$ {SDK-tools}/zipalign"/>
<! -- Initialize -->
<Target name = "init">
<Echo> creating all output directories </echo>
<Delete dir = "$ {outdir-classes}"/>
<Delete dir = "$ {outdir}"/>
<Delete dir = "$ {outdir-gen}"/>
<Mkdir dir = "$ {outdir}"/>
<Mkdir dir = "$ {outdir-classes}"/>
<Mkdir dir = "$ {outdir-gen}"/>
</Target>
<! -- Step 1: aapt generates R. Java -->
<Target name = "resource-Src" depends = "init">
<Echo> generating R. Java... </echo>
<Exec executable = "$ {aapt}" failonerror = "true">
<Arg value = "package"/>
<Arg value = "-M"/>
<Arg value = "-J"/>
<Arg value = "$ {outdir-gen}"/>
<Arg value = "-M"/>
<Arg value = "androidmanifest. xml"/>
<Arg value = "-s"/>
<Arg value = "$ {resource-Dir}"/>
<Arg value = "-I"/>
<Arg value = "$ {Android-jar}"/>
</Exec>
</Target>
<! -- Generate Java classes from. aidl files. -->
<Target name = "aidl" depends = "init">
<Echo> compiling aidl files into Java classes... </echo>
<Apply executable = "$ {aidl}" failonerror = "true">
<Arg value = "-p $ {Android-framework}"/>
<Arg value = "-I $ {Src-Dir}"/>
<Fileset dir = "$ {Src-Dir}">
<Include name = "**/*. aidl"/>
</Fileset>
</Apply>
</Target>
<! -- Step 2. compile all java files as class files. -->
<Target name = "compile" depends = "init, resource-Src, aidl">
<Unjar src = "$ {azonelib}/alilocation_v1.1.0.jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/alipaybase. Jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/aliyunpay. Jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/and_lbs_lv1.3.2.jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/libappstore. Jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/libpay. Jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/MSP. Jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/android-support-v4.jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/apache-mime4j-0.6.jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/commons-codec.jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/httpmime-4.1.3.jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/pwmob_module_base.jar" DEST = "$ {outdir-classes}"/>
<Unjar src = "$ {azonelib}/pwmob_module_utils.jar" DEST = "$ {outdir-classes}"/>
<Javac encoding = "UTF-8" target = "1.6" DEBUG = "true" extdirs = "" srcdir = ". "destdir =" $ {outdir-classes} "bootclasspath =" $ {Android-jar} "/>
</Target>
<! -- Step 3. Convert the class file to the DEX file. -->
<Target name = "Dex" depends = "compile">
<Echo> converting compiled files into $ {Intermediate-Dex}... </echo>
<Exec executable = "$ {DX}" failonerror = "true">
<Arg value = "-- Dex"/>
<Arg value = "-- output =$ {Intermediate-Dex}"/>
<Arg Path = "$ {out. classes. Absolute. dir}"/>
</Exec>
</Target>
<! -- Step 4. Package the resource and list. -->
<Target name = "package-res-and-assets">
<Echo> packaging resources and assets... </echo>
<Exec executable = "$ {aapt}" failonerror = "true">
<Arg value = "package"/>
<Arg value = "-F"/>
<Arg value = "-M"/>
<Arg value = "androidmanifest. xml"/>
<Arg value = "-s"/>
<Arg value = "$ {resource-Dir}"/>
<Arg value = "-a"/>
<Arg value = "$ {asset-Dir}"/>
<Arg value = "-I"/>
<Arg value = "$ {Android-jar}"/>
<Arg value = "-F"/>
<Arg value = "$ {resources-package}"/>
</Exec>
</Target>
<! -- Step 5. Compile the prepared package into an APK file. -->
<Target name = "debug" depends = "Dex, package-res-and-assets">
<Echo> release: Packaging $ {out-debug-package-ospath}, and signing it with a debug key... </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}"/>
<Arg value = "-RF"/>
<Arg value = "$ {Src-Dir-ospath}"/>
</Exec>
</Target>
<! -- Step 6. Sign the APK file -->
<Target name = "jarsigner" depends = "debug">
<Echo> jarsigner $ {out-signed-package-ospath} </echo>
<Exec executable = "$ {jarsigner}" failonerror = "true">
<Arg value = "-verbose"/>
<Arg value = "-storepass"/>
<Arg value = "hello1111111111111111111111"/>
<Arg value = "-keystore"/>
<Arg value = "Myf. keystore"/>
<Arg value = "-signedjar"/>
<Arg value = "$ {out-signed-package-ospath}"/>
<Arg value = "$ {out-Unsigned-package-ospath}"/>
<Arg value = "platformf"/>
</Exec>
</Target>
<! -- Zipalign optimizes the android program -->
<Target name = "zipalign" depends = "jarsigner">
<Echo> zipalign $ {zipalign-package-ospath} </echo>
<Exec executable = "$ {zipalign}" failonerror = "true">
<Arg value = "-V"/>
<Arg value = "-F"/>
<Arg value = "4"/>
<Arg value = "$ {out-signed-package-ospath}"/>
<Arg value = "$ {zipalign-package-ospath}"/>
</Exec>
</Target>
<Target name = "Install" depends = "zipalign">
<Echo> run $ {out-debug-package} onto default emulator... </echo>
<Exec executable = "$ {ADB}" failonerror = "true">
<Arg value = "push"/>
<Arg value = "$ {out-signed-package}"/>
<Arg value = "/system/APP/yunmi. Lar"/>
</Exec>
</Target>
<! -- Install it on the default mobile phone or Simulator
<Target name = "Install" depends = "zipalign">
<Echo> run $ {out-debug-package} onto default emulator... </echo>
<Exec executable = "$ {ADB}" failonerror = "true">
<Arg value = "push"/>
<Arg value = "$ {out-signed-package}"/>
<Arg value = "/system/APP/yunmi. Lar"/>
</Exec>
</Target>
<Target name = "runapp" depends = "Install">
<Echo> run $ {out-debug-package} onto default emulator... </echo>
<Exec executable = "$ {ADB}" failonerror = "true">
<Arg value = "shell"/>
<Arg value = "am"/>
<Arg value = "start"/>
<Arg value = "-n"/>
<Arg value = "com. aliyun. xiaoyunmi/COM. aliyun. xiaoyunmi. activity. accountmainactivity"/>
</Exec>
</Target> -->
</Project>