Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android自動化構建之Ant多渠道打包實踐分析(上)

Android自動化構建之Ant多渠道打包實踐分析(上)

編輯:關於Android編程

前言

Ant是歷史比較悠久的一個自動化構建工具,Android開發者可以通過它來實現自動化構建,也可以實現多渠道打包,關於apk打包的方式一般有Ant、Python、Gradle三種,這三種打包方式都各自有優點和缺點,本篇博文先給大家介紹如何使用Ant來實現自動構建和多渠道發布。

開發環境

Window7 Ant jdk android sdk

mac系統下所需要的運行環境也是類似的,我們都需要配置Ant、jdk、sdk的環境變量,我們可以看一下window下是環境變量配了些什麼:
ANT_HOME : D:\android\apache-ant-1.9.4
JAVA_HOME : C:\Program Files\Java\jdk1.6.0_45
ANDROID_SDK_HOME : D:\android\adt-bundle-windows-x86_64-20140321\sdk
PATH: %JAVA_HOME%/bin;%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools;%ANT_HOME%\bin;
CLASSPATH : .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\tools.jar

以上環境變量配好之後,你才可以進入下一步,不會配?回家吧,開發不適合你。

先說APK構建過程

下面來簡單描述下apk構建的過程:
1. 使用aapt生成R.java類文件
2. 使用android SDK提供的aidl.exe把.aidl轉成Java文件
3. 使用javac命令編譯.java類文件生成class文件
4. 使用android SDK提供的dx.bat命令行腳本生成classes.dex文件
5. 使用android SDK提供的aapt.exe生成資源包文件
6. 使用apkBuilder.bat生成未簽名的apk安裝文件
7. 使用jdk的jarsigner對未簽名的包進行apk簽名
8. 使用Zipalign工具對apk進行優化

我們從上面的描述可以知道apk具體的步驟和使用到的工具,對應的工具在sdk中都可以找到,自己去翻翻吧,但你會發現新的sdk版本,aapt被放到了build-tools目錄下,apkBuilder.bat文件在tools目錄找不到了,你可以去網上去下一個,然後放到tools目錄下。為了讓大家更清楚apk構建的過程,放上官方的一張圖:

apk構建過程

有了這張圖,相信大家已經清楚了apk到底是如何生成的吧,不多說了。

構建命令詳解

aapt命令生成R.java文件

示例命令:

aapt package -m -J -S -I -M

命令解釋:

-f 如果編譯出來的文件已經存在,強制覆蓋
-m 使生成的包的目錄存放在-J參數指定的目錄
-J 指定生成的R.java 的輸出目錄
-S res文件夾路徑
-A assert文件夾路徑
-I 某個版本平台的android.jar的路徑
-F 具體指定APK文件的輸出

aidl命令生成.aidl文件

示例命令:

aidl -p<framework.aidl路徑> -I -o<目標文件目錄> .aidl文件 </framework.aidl路徑>

注意:命令和路徑是沒有空格的

<framework.aidl路徑>javac命令生成.class文件

示例命令:

javac -d destdir srcFile

參數解釋:
-d 指定存放類的文件夾
-bootclasspath 覆蓋引導類文件的位置
-encoding 指定源文件使用的編碼
-sourcepath 指定查找輸入源文件位置

dx命令生成classes.dex文件
示例命令:
dx --dex --output classes.dex  bin/classes/  libs/

命令解釋:將bin/classes下的class文件和libs下的jar文件編譯成classes.dex文件

aapt生成資源包文件resources.ap_

命令示例:

aapt package -m -J  -S  -I  -A  -M -F 
apkbuilder.bat已經過時了,使用以下方法

示例命令:

java -cp  com.android.sdklib.build.ApkBuilderMain <未簽名.apk>  -v -u -z bin\resources.ap_ -f bin\classes.dex -rf src
通過jarsigner來生成
示例命令:
jarsigner -verbose -keystore  -signedjar -<輸出簽名apk路徑> <未簽名apk路徑> 
最後一步使用zipalign工具進行apk對齊優化

示例命令:

zipalign [-f] [-v]  infile.apk outfile.apk

上面的8個步驟就是實現apk構建的過程,都是通過命令來一步一步實現,要注意每一步生成的東西。

小結

本篇博文主要給大家介紹了Android中apk構建的過程,也詳細的講解了每一步具體的命令操作,由於不想一篇把所有東西堆在一起,我將會在下一篇來具體使用Ant腳本實現自動化構建和多渠道打包,大家可以繼續關注。


 

   
</framework.aidl路徑>
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved