- How to generate android apk with Prebop using Ant
- <?xml version="1.0"?>
- <project name="Hello" default="compile" basedir=".">
- <property file="local.properties" />
- <property file="ant.properties" />
- <loadproperties srcFile="project.properties" />
- <property name="android-home" value="../android-sdks" />
- <property name="android-version" value="3" />
- <property name="android-platform-specific" value="${android-home}/platforms/android-${android-version}" />
- <property name="android-jar" value="${android-platform-specific}/android.jar" />
- <property name="android-tools" value="${android-home}/platform-tools" />
- <property name="resource-folder" value="res" />
- <property name="gen-folder" value="gen" />
- <property name="src" location="src" />
- <property name="tmpfolder" value="/tmp/Hello" />
- <property name="src_lite" value="${tmpfolder}/src_lite"/>
- <property name="src_pro" value="${tmpfolder}/src_pro"/>
- <property name="build" location="bin" />
- <property name="build_lite" value="${build}/lite"/>
- <property name="build_pro" value="${build}/pro"/>
- <property name="out-folder" value="${build_lite}" />
- <property name="dex-file" value="classes.dex" />
- <property name="intermediate-dex" value="${out-folder}/${dex-file}" />
- <property name="external-libs-folder" value="bin/lite" />
- <property name="out-classes" value="${out-folder}/classes" />
- <property name="out-classes-location" value="./${out-classes}"/>
- <target name="clean">
- <delete dir="${tmpfolder}" />
- <delete dir="${build}" />
- </target>
- <target name="makedir">
- <mkdir dir="${src_lite}" />
- <mkdir dir="${src_pro}" />
- <mkdir dir="${build_lite}" />
- <mkdir dir="${build_pro}" />
- </target>
- <target name="resource-src" depends="makedir">
- <echo>Generating R.java / Manifest.java from the resources...</echo>
- <exec executable="${android-tools}/aapt.exe" failonerror="true">
- <arg value="package" />
- <arg value="-m" />
- <arg value="-J" />
- <arg path="${gen-folder}" />
- <arg value="-M" />
- <arg path="AndroidManifest.xml" />
- <arg value="-S" />
- <arg path="${resource-folder}" />
- <arg value="-I" />
- <arg path="${android-jar}" />
- <arg value="--custom-package" />
- <arg value="com.pack.name" />
- </exec>
- </target>
- <target name="copysource">
- <copy todir="${src_lite}"><fileset dir="src" /></copy>
- <copy todir="${src_pro}"><fileset dir="src" /></copy>
- </target>
- <target name="splitsource" description="preprocessor">
- <preprocess indir="${src}" outdir="${src_lite}" out="replace">
- <var name="pro" value="false"/>
- <filetype commentend="*/" commentbegin="/*" extensions="java"/>
- </preprocess>
- <preprocess indir="${src}" outdir="${src_pro}" out="replace">
- <var name="pro" value="true"/>
- <filetype commentend="*/" commentbegin="/*" extensions="java"/>
- </preprocess>
- </target>
- <target name="compile" depends="makedir, copysource">
- <javac srcdir="${src_lite}" destdir="${build_lite}" includeantruntime="false">
- <classpath>
- <path id="application" location="${android-jar}"/>
- <path id="application" location="src" />
- <path id="application" location="res" />
- </classpath>
- </javac>
- <javac srcdir="${src_pro}" destdir="${build_pro}" includeantruntime="false">
- <classpath>
- <path id="application" location="${android-jar}"/>
- <path id="application" location="src" />
- <path id="application" location="res" />
- </classpath>
- </javac>
- </target>
- <import file="${sdk.dir}/tools/ant/build.xml" />
- </project>
- PATH_TO_SDK/android create project -n NAME -p PATH -k PACKAGE -a ACTIVITY -t TARGET_ID
- ant release
- ant PATH/build.xml release
- jarsigner -verbose -storepass PASS -keypass KEY_PASS -keystore KEY_STORE_PATH PROJECT_PATH/bin/PROJECT_NAME-release-unsigned.apk YOUR_KEY_STORE_FILE
- jarsigner -verbose -verify PROJECT_PATH/bin/PROJECT_NAME-release-unsigned.apk
- ANDROID_SDK_PATH/zipalign 4 PROJECT_PATH/bin/PROJECT_NAME-release-unsigned.apk PROJECT_PATH/bin/PROJECT_NAME-release.apk