編輯:關於Android編程
上一篇(Android自動化構建之Ant多渠道打包實踐分析(上))已經介紹了Android的apk是如何構建的,本篇博客繼續Ant打包的實踐過程。
這裡以友盟統計為例,對各個渠道進行統計,我們需要先集成它的SDK
配置權限
渠道配置
使用Ant打包的時候替換的渠道號就是
將Umeng替換為具體的渠道,比如將Umeng替換為xiaomi。
這個文件定義了Ant腳本要用到的一些參數值,我們的渠道也是定義在這裡,具體看代碼:
#project name and version
project.name=AntBuild
project.version=4.1.4
#android platform version
android-platform=android-19
#keysore file
ketstore.file=release.keystore
key.alias=release.keystore
key.alias.password=123456
key.store.password=123456
#publish channel
channelname=Umeng
channelkey=360,QQ,xiaomi,liangxiang
key=360,QQ,xiaomi,liangxiang
#library project
library-dir=../Library
library-dir2=../Library2
# generate R.java for libraries. Separate libraries with ':'.
extra-library-packages=
#filnal out dir
out.dir=publish
目錄初始化....
生成R.java文件....
編譯aidl文件....
java源文件編譯成class文件....
將.class文件轉化成.dex文件....
將資源文件放進輸出目錄....
打包成未簽證的apk....
Packaging signed apk for release...
APK is released. path:${out-signed-package-ospath}
刪除其他文件,最後只保留apk
生成apk完成
上面就是完整的Ant腳本,實現了自動化構建和多渠道的打包,筆者在實踐的過程踩過不少坑才最終把apk包成功打出。
這裡總結下可能遇到的坑:
- 生成R.java文件,一定要注意先後順序,主項目之後才到關聯項目
- 編譯生成class文件,可能會遇到找不到類,一定要按照添加庫的順序來編譯class文件
- 替換渠道號的時候,Ant中pattern裡的內容要與mainfest文件的內容一致,包括順序,空格),筆者試過格式化後代碼之後就不能寫入成功
@echo off
call ant -buildfile "build.xml" deploy
echo done
pause
exit
我們可以在項目中的publish目錄下生成不同渠道的apk文件:
安裝apk到設備,啟動之後在友盟後台集成測試,看app發布的渠道:
實現Ant多渠道打包整個過程還是比較繁瑣的,主要在Ant腳本上,比較容易出錯,需要對命令比較了解,但確實能夠縮短我們打渠道包的時間,基於本次實踐是基於Eclipse,目前Android Studio使用gradle來實現多渠道打包,以後會把gradle進行多渠道打包的實現分享給大家,大家可以對比下這兩種打包方式的區別,主要目的是更加深入的了解apk的構建過程。
如今的人們幾乎每天都會用手機拍攝無數張照片,但是照片一多管理就是一件麻煩事。一般來說,用戶管理照片不是系統的圖庫就是快圖應用,後者雖然浏覽速度快但管理功能卻
這篇博客的目標是摸清楚默認編譯整個android系統時代碼的流程。當我們執行make的時候,會查找當前的Makefie文件或者makefile文件並且執行,在androi
小米筆記本Air已經發布,在配置上有兩個版本,一款是13寸的高配版和12寸的輕薄款,具體的配置我們來看看。小米筆記本配置小米筆記本Air采用全金屬超輕薄設計
開源地址:https://github.com/SimonVT/android-menudrawer 簡介:menudrawer是跟sliderMenu差不多的一種框架,