Android Ant打包及其環境變數配置

來源:互聯網
上載者:User

標籤:android ant 打包   android ant   android ant 環境變數配置   android ant打包及其環境變數配   andtoid java 打包   

之前打包項目使用藍貝殼打包,或者用Eclipse內建的環境打包,或者直接扔給第三方給別人打包(這裡是指的愛加密打包)。接下來老於就帶你們走進ant打包的時代。

每次完成一個應用後。就要上市場。上市場呢就要有很多的渠道。有很多的渠道呢。意味著要打很多個渠道包。我哩個去。

記得有個項目。100多個渠道。打到手軟。回去飛機打不起來了。android就是這麼屌絲。不像ios高富帥一樣。就打幾個而已。
以前一直認為ant自動渠道打包很複雜。其實說難也不難。說複雜也不複雜。最要就是配置環境問題。環境配好了。產生的build.xml中的配置弄好了。
就基本可以打包了。
一。首先呢要把電腦的java環境配置到環境變數中PATH中。不懂的人可以參考http://blog.csdn.net/huanghm88/article/details/3965218轉帖
二,把android的SDK也配置到環境變數中PATH中不懂的人可以參考http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html轉帖
三。下載ant環境包。地址在http://ant.apache.org/manualdownload.cgi下載。記得也配置到環境變數中PATH,我的地址是這樣的D:\apache-ant-1.9.2\bin;具體大家自己設定,配置成功的話點擊運行。輸入cmd。輸入ant -version斷行符號
表示配置成功了。
四,使用ant,對項目產生build.xml檔案具體可以查看http://www.xmumu.com/post/2011-11-22/7022215轉帖。
如果說命令打不出來。或者提示找不到的話。說明Android SDK環境配置有問題。要去配置好。網上尋找下
五,如果在項目中產生出build.xml等檔案時候。就可以進行下一步的配置了如目錄
ant.properties檔案是我們等下要自己建立的檔案。是稍後給大家介紹。另外兩個檔案是build.xml和local.properties
關於ant打包,大家可以先看看這兩篇文章http://www.cnblogs.com/MrShi/archive/2013/04/16/3023311.html,http://www.cnblogs.com/MrShi/archive/2013/04/16/3023485.html轉帖
六,接下來介紹下ant.properties的內容吧

其中的proguard.config=proguard.cfg  是混淆檔案。相信大家都懂得自己定義個混淆檔案吧。
key.store=E:\\androidkey.keystore  是簽名檔案的絕對位址。我這裡是window系統。所以這樣寫。l
key.alias=androidkevin.keystore  簽名檔案的別名。如果忘了話。可以用eclipse打包時候最後一次輸入密碼時候。有個Alias的就是你的別名了。
key.store.password=123455  簽名密碼
key.alias.password=123455  簽名密碼
market_channels打包的渠道列表。用逗號隔開。不懂得話前面兩篇都有說明

以下我把我的build.xml檔案的內容曬出來:
<?xml version="1.0" encoding="UTF-8"?><project name="BABYRECORD" default="release">    <property file="local.properties" />    <property file="ant.properties" />    <property environment="env" />    <condition property="sdk.dir" value="${env.ANDROID_HOME}">        <isset property="env.ANDROID_HOME" />    </condition>   <property name="outdir" value="bin" />      <property name="outdir-classes" value="${outdir}/classes" />     <property name="proguard-home" value="D:\\proguard4.2\\lib\\" />    <property name="sdk-folder" value="D:\android-sdk_r16-windows\android-sdk_r16-windows\android-sdk-windows" />     <property name="android-jar" value="${sdk-folder}\platforms\android-3\android.jar" />      <loadproperties srcFile="project.properties" />       <fail            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."            unless="sdk.dir"    />    <import file="custom_rules.xml" optional="true" />    <import file="${sdk.dir}/tools/ant/build.xml" />       <property name="out.unaligned.dir" value="F:\BABYRECORD_${app_version}\" />    <mkdir dir="${out.unaligned.dir}" />    <target name="modify_update_file">               <echo>*********************** make channel ${channel}</echo>                <replaceregexp file="AndroidManifest.xml"            match='channel'            replace='${channel}'            byline="false"            encoding="utf-8"        />        <property name="out.unaligned.file" location="${out.unaligned.dir}\babyrecord_${app_version}_release_build${app_date}_${channel}.apk"/>         <antcall target="release" />    </target>    <target name="make_one_channels" depends="savemanifest,modify_update_file,release,replacemanifest,deletebin" description="description">    </target>    <target name="replacemanifest">        <echo>*********************** replacemanifest</echo>        <delete file="${basedir}\AndroidManifest.xml"/>        <copy file="..\temp\build\META-INF\AndroidManifest.xml" todir="${basedir}" encoding="utf-8"/>    </target>    <target name="savemanifest">        <echo>*********************** savemanifest</echo>        <copy file="${basedir}\AndroidManifest.xml" todir="..\temp\build\META-INF" encoding="utf-8" />    </target>    <target name="deletebin">        <delete dir="${basedir}\bin\*" />    </target>    <taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach" classpath="D:\android-sdk_r16-windows\android-sdk_r16-windows\android-sdk-windows\tools\ant-contrib-1.0b3.jar" />    <target name="make_channels">        <foreach target="make_one_channels" list="${market_channels}" delimiter="," param="channel">                  </foreach>    </target></project>


大家看到裡面的變數env.ANDROID_HOME沒有。這裡是用了我們之前java在電腦環境變數的配置名稱。所以大家在配置時候。要先new一個。取名為ANDROID_HOME
配置到是android SDK的地址其他配置的話。大家一看就瞭然了。有些是自己的的檔案夾地址。有些是配置到ant.properties中。如果大家遇到報錯的話。可以留言回複我。我會盡量協助大家解答

Android Ant打包及其環境變數配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.