Linux系統使用Ant打包Android項目
實際上.linux ant 打包android項目跟windows ant打包android項目是有很多的相似之處的,流程基本一致,唯一的不同,可能就是在操作上的問題,接下來,我將就Linux系統打包android項目進行詳盡的介紹,並在後面簡要的記錄一下我在搭建相關環境的時候,出現的一些問題.
老規矩,先羅列一下要用到的工具A、 javajdk;
B、 ant 壓縮文件;(http://ant.apache.org)
C、 androidsdk(http://developer.android.com/sdk/index.html)
D、 最重要的一個,百度搜索(www.baidu.com)
其次就是要用到的相關命令,在開篇也介紹過,這裡要使用的命令跟windows 下面的命令是很相似的(99%相似度)1.驗證java環境配置是否正確:java
2.驗證android環境是否正確:android
3.驗證ant環境是否正確:ant -version
4.編譯生成build.xml以及local.properties文件命令:android update project -p /.(說明:/.是指本目錄,因此在執行該命令的時候,應該進入項目的根目錄)
5.編譯一般性apk,如果不需要指定特定的證書(key),則在項目的根目錄執行ant debug,系統會有一個自動debug簽名的apk在bin目錄下生成。如果要用特定的證書,則操作如下:
A.在項目的根目錄新建文件《ant.properties》,在裡面引用證書以及相關的資料,具體寫法:
#證書所在的路徑,包括證書名字本身
key.store=C:/Users/cheng/Desktop/key.key
#證書的別名
key.alias=key
#證書的密碼
key.store.password=123456
#別名的密碼
key.alias.password=123456
#引入混淆文件
#proguard.config=proguard.cfg
6.普通打包:ant release
這裡有兩種模式,正如5中的描述,假設我們引用了key文件,那麼就生成的是有簽名的APK,眾所周知,Android系統只能安裝帶有簽名的APK,
另一種情況,沒有引用到簽名文件,那也能打包成功,只是不能直接安裝。
7.項目引用了其他library項目:
如果項目只是引用了第三方jar包,只要將jar包放在libs文件夾下就ok了,ant會在編譯打包過程中會自動將第三方jar加進去的。但是當我們的android 項目參考了其他library項目,這時候我們最初在輸入android update 命令的時候應該多一個參數 --subprojects :
你發現報錯了,不要著急,這是因為那個library 還不支持ant自動編譯,我們需要先讓它也支持。進入到library項目所在的目錄,輸入命令 android update lib-project -p ./ (注意是 lib-project);再回到原項目,輸入命令” android update project --name MenudrawSample -p ./--subprojects ",這下就OK了。
以上是使用、操作說明,接下來我將簡要記錄一下我在搭建環境的時候所遇到的問題。搭建環境主要花了一天半的時間,說長不長、說短不短。就像上面的描述,宋丹丹問:把大象裝進冰箱,需要多少步?答案是三步,打開冰箱門、把大象放進冰箱、關上冰箱門。由此可見,再困難的問題,只要我們按照一定的計劃,總能把困難解決,
我在搭建這類的時候也是如此:
在此之前,我對linux系統一無所知,根據我的情況,我的第一步就是得先熟悉一下linux系統基本的使用,比如利用終端進入某個文件夾,利用終端刪除某個文件、目錄,利用終端解壓縮 .ZIP文件、利用終端查看一些環境的配置詳情,利用終端修改文件的權限等等。當熟悉這些的時候,我們就可以大概的開始進行操作了
第二步:下載相關工具,為了減少不要的工作量,可以先檢查一下本電腦是否配置過相關的環境以及查看它們的版本,我在這就吃虧了,因為本地配置的java環境是64位字節,而我不知道linux系統下面只有32位的Android sdk,所以我傻乎乎一股腦的全找了64位的工具,直到在編譯的時候才告訴我“找不到引用的庫文件”,百度了一下,說是庫的問題,可以下載兼容庫,我又找了很久才下載了兼容庫。總算可以編譯了。第三步:配置環境變量,說到環境變量,那可有的說了,從哪兒說起呢?就從ant的環境配置說起吧,linux的環境變量的配置跟window不太一樣,為什麼呢,window的環境配置是圖形化操作界面,那個點點鼠標就夠了,然而linux不一樣,這個地方是要使用命令的,
首先第一種:export 命令,這個命令雖然也能配置,但是配置的是臨時的變量,也就是說只有在當前的終端有效,退出了就沒有用了,第二種,vim/etc/profile 這種是配置永久的,裡面可以插入環境,插入的方式就是移動標位,進入自己要添加的地方,按鍵盤任意鍵即可進入插入模式,退出插入模式的方法也很見到,先按 esc鍵,然後輸入:wq,最後別忘了輸入#source /etc/profile保存。然後輸入 ant –version驗證命令。還有sdk變量的配置方式也類似。
總結一下配置ant的步驟:(apahce-ant-1.9.7-bin.tar.gz是文件名,具體的看實際下載的名字)
1、從http://ant.apache.org 上下載tar.gz版ant
2、復制到/usr下
3、tar -vxzf apahce-ant-1.9.7-bin.tar.gz 解壓(tar –vxzf 是命令)
4、chown -R root apahce-ant-1.9.7 改變權限(root是管理員身份)
5、vi /etc/profile 修改系統配置文件
在最下面我們會看到一大堆的環境配置,比如:JAVA_HOME之類的,因此我們依葫蘆畫瓢
ANT_HOME=/usr/apache-ant-1.9.7
PATH=$PATH:$ANT_HOME/bin:$ANT_HOME/lib:$PATH
改好後,按ESC鍵,輸入:wp命令退出編輯模式
6、source /etc/proifle 立刻將配置生效
7、ant -version 測試ant是否生效
好了,ant已經配置完畢,還有一個要配置的,那就是androidsdk配置。跟5中的一樣,修改系統配置文件。具體寫法是:ANDROID_HOME=/usr/adt_bundle_linux/sdk
PATH=$PATH:$ANT_HOME/bin:$ANT_HOME/lib:$ANDROID_HOME/tools:$PATH
驗證一下,在終端輸入 android,如果彈出一個窗口那就可以了,如果沒有,那就重啟一下系統。
第四步:根據之前介紹的相關命令去執行,然而又報錯了,說在我的項目下面找不到 project.properjects文件,我當時就懵了,因為我根本就有啊,怎麼可能沒有呢!我郁悶了五分鐘,靜靜了一會兒,系統畢竟是 系統,至少在這方面他是比我聰明,他說沒有那一定是沒有了,這個時候eclipse就派上用場了,我打開eclipse,將我的項目導入進去,在引用庫的操作裡面,看到確實引用的路徑不對,哦,明白了,原來是路徑的問題,多麼痛的領悟,我在修改之後,引用了正確的地址,在項目的根目錄相面執行命令ant release,圓滿成功。
截止目前,整個流程已經介紹完了,事實上很多事情就是這樣,即使一開事覺得很困難,覺得是遙不可及,即便是一個未知的領域,只要明確自己的目的,然後腳踏實地的去百度,不斷的理清自己的思路,很多問題都是可以解決的。
最後總結一下:ant 打包不是很復雜的東西,就是一般性的下載相關工具、配置環境變量、執行相關命令,就這些操作流程。