Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 1st, 2012  |  syntax: None  |  size: 4.36 KB  |  hits: 28  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. How to generate android apk with Prebop using Ant
  2. <?xml version="1.0"?>
  3. <project name="Hello" default="compile" basedir=".">
  4.     <property file="local.properties" />
  5.     <property file="ant.properties" />
  6.     <loadproperties srcFile="project.properties" />
  7.     <property name="android-home" value="../android-sdks" />
  8.     <property name="android-version" value="3" />
  9.     <property name="android-platform-specific" value="${android-home}/platforms/android-${android-version}" />
  10.     <property name="android-jar" value="${android-platform-specific}/android.jar" />
  11.     <property name="android-tools" value="${android-home}/platform-tools" />
  12.     <property name="resource-folder" value="res" />
  13.     <property name="gen-folder" value="gen" />
  14.  
  15.     <property name="src" location="src" />
  16.  
  17.     <property name="tmpfolder" value="/tmp/Hello" />
  18.     <property name="src_lite" value="${tmpfolder}/src_lite"/>
  19.     <property name="src_pro" value="${tmpfolder}/src_pro"/>  
  20.  
  21.     <property name="build" location="bin" />
  22.     <property name="build_lite" value="${build}/lite"/>
  23.     <property name="build_pro" value="${build}/pro"/>  
  24.  
  25.     <property name="out-folder" value="${build_lite}" />
  26.     <property name="dex-file" value="classes.dex" />
  27.     <property name="intermediate-dex" value="${out-folder}/${dex-file}" />
  28.     <property name="external-libs-folder" value="bin/lite" />
  29.     <property name="out-classes" value="${out-folder}/classes" />
  30.     <property name="out-classes-location" value="./${out-classes}"/>
  31.  
  32.     <target name="clean">
  33.         <delete dir="${tmpfolder}" />
  34.         <delete dir="${build}" />
  35.     </target>
  36.  
  37.     <target name="makedir">
  38.         <mkdir dir="${src_lite}" />
  39.         <mkdir dir="${src_pro}" />
  40.         <mkdir dir="${build_lite}" />
  41.         <mkdir dir="${build_pro}" />
  42.     </target>
  43.  
  44.     <target name="resource-src" depends="makedir">
  45.         <echo>Generating R.java / Manifest.java from the resources...</echo>
  46.         <exec executable="${android-tools}/aapt.exe" failonerror="true">
  47.             <arg value="package" />
  48.             <arg value="-m" />
  49.             <arg value="-J" />
  50.             <arg path="${gen-folder}" />
  51.             <arg value="-M" />
  52.             <arg path="AndroidManifest.xml" />
  53.             <arg value="-S" />
  54.             <arg path="${resource-folder}" />
  55.             <arg value="-I" />
  56.             <arg path="${android-jar}" />
  57.             <arg value="--custom-package" />
  58.             <arg value="com.pack.name" />
  59.         </exec>
  60.     </target>
  61.  
  62.     <target name="copysource">
  63.         <copy todir="${src_lite}"><fileset dir="src" /></copy>
  64.         <copy todir="${src_pro}"><fileset dir="src" /></copy>
  65.     </target>
  66.  
  67.     <target name="splitsource"  description="preprocessor">
  68.         <preprocess indir="${src}" outdir="${src_lite}" out="replace">
  69.             <var name="pro" value="false"/>
  70.             <filetype commentend="*/" commentbegin="/*" extensions="java"/>
  71.         </preprocess>
  72.         <preprocess indir="${src}" outdir="${src_pro}" out="replace">
  73.             <var name="pro" value="true"/>
  74.             <filetype commentend="*/" commentbegin="/*" extensions="java"/>
  75.         </preprocess>
  76.     </target>
  77.  
  78.     <target name="compile" depends="makedir, copysource">
  79.         <javac srcdir="${src_lite}" destdir="${build_lite}" includeantruntime="false">
  80.             <classpath>
  81.                 <path id="application" location="${android-jar}"/>
  82.                 <path id="application" location="src" />
  83.                 <path id="application" location="res" />
  84.             </classpath>
  85.         </javac>
  86.         <javac srcdir="${src_pro}" destdir="${build_pro}" includeantruntime="false">
  87.             <classpath>
  88.                 <path id="application" location="${android-jar}"/>
  89.                 <path id="application" location="src" />
  90.                 <path id="application" location="res" />
  91.             </classpath>
  92.         </javac>
  93.     </target>
  94.     <import file="${sdk.dir}/tools/ant/build.xml" />
  95. </project>
  96.        
  97. PATH_TO_SDK/android create project -n NAME -p PATH -k PACKAGE -a ACTIVITY -t TARGET_ID
  98.        
  99. ant release
  100.        
  101. ant PATH/build.xml release
  102.        
  103. jarsigner -verbose -storepass PASS -keypass KEY_PASS -keystore KEY_STORE_PATH PROJECT_PATH/bin/PROJECT_NAME-release-unsigned.apk YOUR_KEY_STORE_FILE
  104.        
  105. jarsigner -verbose -verify PROJECT_PATH/bin/PROJECT_NAME-release-unsigned.apk
  106.        
  107. ANDROID_SDK_PATH/zipalign 4 PROJECT_PATH/bin/PROJECT_NAME-release-unsigned.apk PROJECT_PATH/bin/PROJECT_NAME-release.apk