build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="TVE_Dominicana_Orbit" basedir="." default="10completebuild">

    <property file="build.properties" />
    <!-- The absolute paths for the tools. -->
    <!-- android远程服务器接口代码生成模板文件 -->
    <property name="android.framework" value="${sdk.home}/platforms/${sdk.platform}/framework.aidl">
    </property>

    <property name="android.plantforms.dir" value="${sdk.home}/platforms/${sdk.platform}">
    </property>

    <!-- android核心jar包-->
    <property name="android.core" value="${sdk.home}/platforms/${sdk.platform}/android.jar">
    </property>

    <property name="android.annotation" value="${sdk.home}/tools/support">
    </property>

    <!-- 混淆 -->
    <!--
    <property name="android.proguard" value="${sdk.home}/tools/proguard/lib/proguard.jar">
    </property>
    -->
    <!-- 优化apk -->
    <property name="zipalign" value="${sdk.build-tools}/zipalign">
    </property>

    <!-- 将java字节码转换成dalvik字节码 -->
    <property name="dx" value="${sdk.build-tools}/dx">
    </property>

    <!-- 生成未签名的apk -->
    <property name="apk-builder" value="${sdk.home}/tools/apkbuilder.sh">
    </property>

    <!-- 生成R文件  -->
    <property name="aapt" value="${sdk.build-tools}/aapt">
    </property>

    <!-- 把.aidl转成.java -->
    <property name="aidl" value="${sdk.build-tools}/aidl">
    </property>
    <!-- 签名工具  -->
    <property name="signature" value="${basedir}/tools/signature" >
    </property>
    <!-- The absolute path. -->

    <property name="tveui.abs" value="${basedir}/../TVE_UI"/>
    <property name="tvecore.abs" value="${basedir}/../TVE_Core"/>
    <property name="src.abs" value="${basedir}/src">
    </property>

    <property name="framework_src.abs" value="${basedir}/framework_src">
    </property>

    <property name="lib.abs" value="${basedir}/libs">
    </property>

    <property name="bin.abs" value="${basedir}/bin">
    </property>

    <property name="gen.abs" value="${basedir}/gen">
    </property>

    <property name="res.abs" value="${basedir}/res">
    </property>

    <property name="assets.abs" value="${basedir}/assets">
    </property>

    <property name="dist.abs" value="${basedir}/output" />

    <mkdir dir="${basedir}/output"/>

    <property name="androidManifest.abs" value="${basedir}/AndroidManifest.xml">
    </property>

    <property name="dex.abs" value="${basedir}/bin/classes.dex">
    </property>

    <property name="resources.abs" value="${basedir}/bin/resources.ap_">
    </property>

    <property name="unsigned.abs" value="${dist.abs}/${ant.project.name}-unsigned.apk">
    </property>

    <property name="signed.abs" value="${dist.abs}/${ant.project.name}-signed.apk">
    </property>

    <!-- 1.Cleaning the project -->
    <target name="1clean">
        <echo>
            Cleaning the project...
        </echo>

        <delete includeemptydirs="true" verbose="true">
            <fileset dir="${bin.abs}" includes="**/*">
            </fileset>
        </delete>

        <delete includeemptydirs="true" verbose="true">
            <fileset dir="${gen.abs}" includes="**/*">
            </fileset>
        </delete>

        <delete includeemptydirs="true" verbose="true">
            <fileset dir="${dist.abs}" includes="**/*">
            </fileset>
        </delete>
    </target>

    <!-- 2 Generate R.java -->
    <target name="2generate" depends="1clean">
        <echo>
            Generating R.java / Manifest.java from the resources...
        </echo>
        <exec executable="${aapt}" failonerror="true">
            <arg value="package" />
            <arg value="-f" />
            <arg value="-m" />
            <arg value="-J" />
            <arg value="${gen.abs}" />
            <arg value="-M" />  
            <arg value="${tvecore.abs}/AndroidManifest.xml" /> 
            <arg value="-S" />
            <arg value="${res.abs}"/>
            <arg value="-S" />
            <arg value="${tvecore.abs}/res"/>
            <arg value="-S" />
            <arg value="${tveui.abs}/res"/>
            <arg value="--extra-packages" />  
            <arg value="com.inspur.core:com.inspur.ui:com.inspur.tve.orbit" />
            <arg value="-I" />
            <arg value="${android.core}" />
            <arg value="--auto-add-overlay" />
        </exec>

    </target>

    <!-- 3Convert and compile AIDL files. -->
    <target name="3aidl" depends="1clean">
        <echo>
            Compiling aidl files into Java classes...
        </echo>
        <apply executable="${aidl}" failonerror="true">
            <arg value="-p${android.framework}" />
            <arg value="-I${tvecore.abs}/src" />
            <arg value="-o${gen.abs}" />
            <fileset dir="${tvecore.abs}/src">
                <include name="**/*.aidl">
                </include>
            </fileset>
        </apply>
    </target>

    <!--4Compile srcdir="${framework_src.abs}:${src.abs}:${gen.abs}" 表示编译的源文件目录有三个 -->
    <target name="4compile" depends="1clean,2generate,3aidl">

        <echo>
            1. Compile TVECore
        </echo>
        <javac bootclasspath="${android.core}" debug="off" destdir="${bin.abs}" encoding="UTF-8" extdirs="" includeantruntime="false" target="1.7">
            <src path="${tvecore.abs}/src"/>
            <src path="${gen.abs}"/> 
            <classpath>
                <fileset dir="${tvecore.abs}/libs" includes="*.jar" /><!-- 第三方jar包需要引用,用于辅助编译-->
            </classpath> 
        </javac>
        <echo>
            2. Compile TVEUI
        </echo>
        <javac bootclasspath="${android.core}" debug="off" destdir="${bin.abs}" encoding="UTF-8" extdirs="" includeantruntime="false" target="1.7">
            <src path="${tveui.abs}/src"/>
            <src path="${gen.abs}"/> 
            <classpath>
                <fileset dir="${tvecore.abs}/libs" includes="*.jar" /><!-- 第三方jar包需要引用,用于辅助编译-->
            </classpath> 
        </javac>    
        <echo>
            3. Compile TVE_Dominicana_Orbit
        </echo>
        <javac bootclasspath="${android.core}" debug="off" destdir="${bin.abs}" encoding="UTF-8" extdirs="" includeantruntime="false" target="1.7">

            <src path="${src.abs}"/>
            <src path="${gen.abs}"/>

            <classpath>
                <fileset dir="${lib.abs}" includes="*.jar"/>
                <fileset dir="${tvecore.abs}/libs" includes="*.jar" /><!-- 第三方jar包需要引用,用于辅助编译-->
            </classpath>
        </javac>
    </target>

    <!-- 5 Convert and compress .class files to .dex file. -->
    <target name="5dex" depends="4compile">
        <echo>
            Converting compiled files and external libraries into dex format file...
        </echo>
        <apply executable="${dx}" failonerror="true" parallel="true">
            <arg value="--dex" />
            <arg value="--output=${dex.abs}" />
            <arg path="${bin.abs}" />
                <fileset dir="${lib.abs}" includes="*.jar">
                </fileset>
                <fileset dir="${android.annotation}" includes="*.jar">
                </fileset>
                <fileset dir="${tvecore.abs}/libs" includes="*.jar" />
        </apply>
    </target>

    <!-- 6Package the resources. -->
    <target name="6package" depends="5dex">
        <echo>
            Packaging resources and assets...
        </echo>
        <exec executable="${aapt}" failonerror="true">
            <arg value="package" />
            <arg value="-f" />
            <arg value="-M" />
            <arg value="${androidManifest.abs}" />
            <arg value="-S" />
            <arg value="${res.abs}"/>
            <arg value="-S" />
            <arg value="${tvecore.abs}/res"/>
            <arg value="-S" />
            <arg value="${tveui.abs}/res"/>
            <arg value="-A" />
            <arg value="${assets.abs}" />
            <arg value="-I" />
            <arg value="${android.core}" />
            <arg value="-F" />
            <arg value="${resources.abs}" />
            <arg value="--auto-add-overlay" />
        </exec>
    </target>

    <!-- 7Package an unsigned APK file. -->
    <target name="7genUnsignedApk" depends="6package">
        <echo>
            Packaging an unsigned APK file...
        </echo>
        <java classpath="${sdk.home}/tools/lib/sdklib.jar" classname="com.android.sdklib.build.ApkBuilderMain"> 
            <arg value="${unsigned.abs}" />
            <arg value="-u" />
            <arg value="-z" />
            <arg value="${resources.abs}" />
            <arg value="-f" />
            <arg value="${dex.abs}" />
            <arg value="-rf" />
            <arg value="${src.abs}" />
            <arg value="-rj" />
            <arg value="${lib.abs}" />
            <arg value="-nf" />
            <arg value="${tvecore.abs}/libs" />

        </java>
        <echo>
            It will need to be signed with jarsigner before being published.
        </echo>
    </target>

     <!-- 8signatureApk -->
    <target name="8signatureApk" depends="7genUnsignedApk" >
       <echo>signature Apk...</echo>
       <!-- <signer_apk platform="amlogic"  resolution="720p"/> -->
       <java fork="true" jar="${basedir}/tools/signature/signapk.jar" >
           <arg value="${basedir}/tools/signature/platform.x509.pem" />
           <arg value="${basedir}/tools/signature/platform.pk8" />
           <arg value="${unsigned.abs}" />
           <arg value="${dist.abs}/${ant.project.name}-signed.apk" />
       </java>
    </target>


    <!-- 9Zipalign -->
    <target name="9Zipalign" depends="8signatureApk" >
        <tstamp>
            <format pattern="yyyy-MM-dd-HH-mm-ss" property="time">
            </format>
        </tstamp>
        <exec executable="${zipalign}" failonerror="true">
            <arg value="-v" />
            <arg value="-f" />
            <arg value="4" />
            <arg value="${dist.abs}/${ant.project.name}-signed.apk" />
            <arg value="${dist.abs}/${ant.project.name}.apk" />
        </exec>
    </target>

    <!-- 10completebuild -->
    <target name="10completebuild" depends="9Zipalign">
        <copy todir="${dist.abs}">
             <fileset dir="${basedir}/">
                <include name="readme.txt"/>
            </fileset>
        </copy>
        <delete includeEmptyDirs="true">
               <fileset dir="${dist.abs}">
                    <include name="*-signed.apk"/>
                    <include name="*-unsigned.apk"/>
               </fileset>
        </delete>
        <echo>
            Complete...
        </echo>
    </target>

</project>

results matching ""

    No results matching ""