亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android應用程序的編譯流程及使用Ant編譯項目的攻略

 更新時間:2016年04月11日 17:11:00   作者:陽光島主  
這篇文章主要介紹了Android應用程序的編譯流程及使用Ant編譯項目的攻略,Ant是集編譯測試部署于一體的Java自動化工具,要的朋友可以參考下

Android 工程構建的持續(xù)集成,需要搭建一套編譯和打包自動化流程,比如建立每日構建系統(tǒng)、自動生成發(fā)布文件等等。這些都需要我們對Android工程的編譯和打包有一個比較深入的理解,例如知道它的每一步都做了什么,需要什么環(huán)境和工具,輸入和輸出是什么,等等。

首先,假定你的系統(tǒng)(Windows、Linux、Mac OS都行,本文默認使用Linux系統(tǒng)來舉例子,但在 Windows中幾乎沒有什么差別)已經安裝了JDK和Android SDK。
我們重點關心的是:
    (1)這個過程的輸入是什么?
    (2)這個過程的輸出是什么?
    (3)這個過程使用了什么工具?
至于使用什么參數(shù),可以自己去看對應命令的幫助文件,或者在網上搜索,這不是本文的重點。

2016411170513273.jpg (600×899)

提前列出下列步驟中需要用到的工具,如下表:

2016411171453667.png (697×262)

第一步:打包資源文件,生成R.java文件
【輸入】Resource文件(就是工程中res中的文件)、Assets文件(相當于另外一種資源,這種資源Android系統(tǒng)并不像對res中的文件那樣優(yōu)化它)、AndroidManifest.xml文件(包名就是從這里讀取的,因為生成R.java文件需要包名)、Android基礎類庫(Android.jar文件)
【輸出】打包好的資源(一般在Android工程的bin目錄可以看到一個叫resources.ap_的文件就是它了)、R.java文件(在gen目錄中,大家應該很熟悉了)
【工具】aapt工具,它的路徑在${ANDROID_SDK_HOME}/platform-tools/aapt(如果你使用的是Windows系統(tǒng),按慣例路徑應該這樣寫:%ANDROID_SDK_HOME%\platform-tools\aapt.exe,下同)。

第二步:處理AIDL文件,生成對應的.java文件(當然,有很多工程沒有用到AIDL,那這個過程就可以省了)
【輸入】源碼文件、aidl文件、framework.aidl文件
【輸出】對應的.java文件
【工具】aidl工具

第三步:編譯Java文件,生成對應的.class文件
【輸入】源碼文件(包括R.java和AIDL生成的.java文件)、庫文件(.jar文件)
【輸出】.class文件
【工具】javac工具

第四步:把.class文件轉化成Davik VM支持的.dex文件
【輸入】 .class文件(包括Aidl生成.class文件,R生成的.class文件,源文件生成的.class文件),庫文件(.jar文件)
【輸出】.dex文件
【工具】dex工具

第五步:打包生成未簽名的.apk文件
【輸入】打包后的資源文件、打包后類文件(.dex文件)、libs文件(包括.so文件,當然很多工程都沒有這樣的文件,如果你不使用C/C++開發(fā)的話)
【輸出】未簽名的.apk文件
【工具】apkbuilder工具

第六步:對未簽名.apk文件進行簽名
【輸入】未簽名的.apk文件
【輸出】簽名的.apk文件
【工具】jarsigner

第七步:對簽名后的.apk文件進行對齊處理(不進行對齊處理是不能發(fā)布到Google Market的)
【輸入】簽名后的.apk文件
【輸出】對齊后的.apk文件
【工具】zipalign工具

知道了上面這些細節(jié)后,就可以實現(xiàn)很多我們想實現(xiàn)東西了,比如:編譯流程自動化,例如我們可以使用某種腳本,像Windows下的批處理,linux下的Bash,Java下的Ant,Python、Perl這樣的腳本語言,甚至直接用Java、.Net這們的強類型語言也是可以的。
如果真正弄懂了上面的步驟,了解了編譯打包過程的本質,你完全可以以你想要的任何方式實現(xiàn)它的自動化,這才是真正的“舉一反三,以不變應萬變”。再比如,對Android SDK的精簡,大家知道現(xiàn)在Android SDK動轍幾百兆,我們完全可以應用上面的知識,只保留必要的工具,把SDK精簡到10M以下。當然,還可以做很多事情,前提是你真正弄懂了它。

使用編譯工具Ant

1, 下載
這是官方下載頁:
http://ant.apache.org/srcdownload.cgi
下面我的示例環(huán)境為Ubuntu系統(tǒng)。

2, 安裝
1) 解壓

tar zxvf apache-ant-1.9.0-bin.tar.gz

2) 配置環(huán)境

sudo vi /etc/profile
export ANT_HOME=/home/homer/Apache-maven/ant-1.9.0/
export PATH=$ANT_HOME/bin:$PATH
sudo source /etc/profile

3, 驗證

homer@ubuntu:~$ ant -v
Apache Ant(TM) version 1.9.0 compiled on March 5 2013
Trying the default build file: build.xml
Buildfile: build.xml does not exist!
Build failed

安裝完畢!


4, 創(chuàng)建項目
1) 列出android平臺列表

android list targets

輸出結果如下:

2016411170611873.jpg (503×528)

2) android命令創(chuàng)建項目
命令格式:

復制代碼 代碼如下:

android create project   --target <target-id>   --name MyFirstApp   --path <path-to-workspace> MyFirstApp   --activity MainActivity   --package com.example.myfirstapp

創(chuàng)建 AntTest 為例,命令如下:

復制代碼 代碼如下:

android create project   --target android-3   --name AntTest   --path /home/homer/workspace/AntTest   --activity MainActivity   --package com.homer.anttest

創(chuàng)建項目如下:

2016411170711355.jpg (431×377)

5, 編譯項目
1) 進入項目目錄

cd /home/homer/workspace/AntTest

2) 檢查是否有build.xml 文件
build.xml 文件,在項目根目錄下,用作ant的配置文件; 如果沒有,則通過android update更新生成,命令如下:

復制代碼 代碼如下:
android update project   --target android-3   --name AntTest   --path /home/homer/workspace/AntTest

3) ant 命令編譯項目
在項目 AntTest 根目錄下,輸入編譯命令:
ant debug

輸出命令信息如下:

2016411170806568.jpg (800×565)

此時,bin目錄下會生成  AntTest-debug.apk 等文件,如下圖:
PPPPPPPPPPPPPPPPPPPPP5

6, 安裝驗證
1) 列出avd

android list avd

avd列表如下:

2016411170944997.jpg (617×289)

2) 啟動模擬器

android-sdk-linux/tools/emulator -avd AVD-1.5

3) 安裝apk

adb install bin/AntTest-debug.apk 

相關文章

  • Android基礎知識及線性布局介紹

    Android基礎知識及線性布局介紹

    大家好,本篇文章主要講的是Android基礎知識及線性布局介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Android添加用戶組及自定義App權限的方法

    Android添加用戶組及自定義App權限的方法

    今天小編就為大家分享一篇Android添加用戶組及自定義App權限的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 微信小程序電商常用倒計時實現(xiàn)實例

    微信小程序電商常用倒計時實現(xiàn)實例

    這篇文章主要介紹了微信小程序電商常用倒計時實現(xiàn)實例的相關資料,需要的朋友可以參考下
    2017-06-06
  • Android App中實現(xiàn)向右滑動銷毀功能的要點解析

    Android App中實現(xiàn)向右滑動銷毀功能的要點解析

    這篇文章主要介紹了Android應用中實現(xiàn)向右滑動銷毀條目功能的要點解析,有些類似于iOS App中的滑動頁面刪除效果,需要的朋友可以參考下
    2016-04-04
  • ViewPager打造輪播圖Banner/引導頁Guide

    ViewPager打造輪播圖Banner/引導頁Guide

    這篇文章主要為大家詳細介紹了ViewPager打造輪播圖Banner和引導頁Guide,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Flutter Http網絡請求實現(xiàn)詳解

    Flutter Http網絡請求實現(xiàn)詳解

    這篇文章主要介紹了Flutter Http網絡請求實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Android實現(xiàn)Z軸布局效果

    Android實現(xiàn)Z軸布局效果

    這篇文章主要為大家詳細介紹了Android實現(xiàn)Z軸布局效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Android?組件化神器之Arouter依賴配置使用

    Android?組件化神器之Arouter依賴配置使用

    這篇文章主要為大家介紹了Android?組件化神器之Arouter依賴配置使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Android使用DrawerLayout實現(xiàn)雙向側滑菜單

    Android使用DrawerLayout實現(xiàn)雙向側滑菜單

    這篇文章主要為大家詳細介紹了Android使用DrawerLayout實現(xiàn)雙向側滑菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • android使用Jsoup 抓取頁面的數(shù)據

    android使用Jsoup 抓取頁面的數(shù)據

    本篇文章主要介紹了android使用Jsoup 抓取頁面的數(shù)據,jsoup 是一款Java的HTML解析器,有需要的朋友可以了解一下。
    2016-11-11

最新評論