真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

關(guān)于antandroid的信息

如何使用android自帶的ant

Ant是android的編譯打包工具,一個(gè)很好的跨平臺(tái)構(gòu)建工具,特別是對(duì)于Java項(xiàng)目,這里使用它對(duì)Android工程進(jìn)行自動(dòng)化構(gòu)建可以得到非常大的便利。一般來(lái)說對(duì)Android工程進(jìn)行構(gòu)。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了鼓樓免費(fèi)建站歡迎大家使用!

使用Ant搭建Android開發(fā)環(huán)境,建立android項(xiàng)目

配置Ant環(huán)境在windows上應(yīng)該選擇zip壓縮包,將zip壓縮包解壓到一個(gè)目錄。

打開系統(tǒng)環(huán)境變量,在系統(tǒng)變量欄點(diǎn)擊新建,變量名輸入“ANT_HOME”,變量值為Ant的根目錄,如“D:\Android\apache-ant-1.9.0”,注意不要帶雙引號(hào)。

在系統(tǒng)變量中找到Path變量,點(diǎn)擊編輯,在變量值的最后添加“%ANT_HOME%\bin”,注意不要帶雙引號(hào),并且要使用“;”和之前的變量值隔開。

打開一個(gè)cmd窗口,輸入“ant”,如果顯示一下信息,說明Ant的環(huán)境配置成功,如果顯示:'ant'

不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。則要檢查一下路徑是否有問題。

在Eclipse中配置Ant

在eclipse中使用Ant之前,為了使Ant的build.xml文件能夠安裝制定的格式進(jìn)行縮進(jìn)和高亮顯示,并能夠進(jìn)行代碼提示,首先要簡(jiǎn)單的設(shè)置一下。

打開Windows - Preferences,依次展開General,Editors,選中File Associations,點(diǎn)擊Add...,在Add

File Type對(duì)話框中輸入build.xml,點(diǎn)擊Ok。

接下來(lái)在File type:欄選中build.xml,在Associated Editor:欄選中Ant

Editor,點(diǎn)擊Default,build.xml的圖標(biāo)變成了一個(gè)小螞蟻,配置完畢。

使用Ant編譯Android的java代碼和native代碼

新建一個(gè)Android工程TestAnt,在工程的根目錄下新建一個(gè)build.xml文件

輸入以下內(nèi)容:

?xml version="1.0" encoding="UTF-8"?project name="TestAnt" default="init" target name="init" fail message="Ant 1.7.0 or higher is required." condition not antversion property="ant.version" atleast="1.7.0" / /not /condition /fail /target /project

打開cmd,切換到工程根目錄,輸入ant init

編譯成功,來(lái)解析這個(gè)build.xml:

project name="TestAnt" default="init"

project是Ant工程的根節(jié)點(diǎn),name屬性是工程的名稱,default是默認(rèn)執(zhí)行的target,init為默認(rèn)的target,當(dāng)我們輸入Ant的時(shí)候和Ant

init是一樣的效果。

target name="init" fail message="Ant 1.7.0 or higher is required." condition not antversion property="ant.version" atleast="1.7.0" / /not /condition /fail /target

target指定了要執(zhí)行的操作,init是我們?yōu)檫@個(gè)target所起的名字,也可以是build,clean等等。在這個(gè)target中,執(zhí)行的是檢查Ant的版本,如個(gè)小于1.7.0的話會(huì)輸出報(bào)錯(cuò)信息。

例如我們可以添加一個(gè)clean的target

target name="clean" echo message="Deleting temporary files..." / delete dir="gen" / delete dir="bin" / delete dir="out" / delete dir="obj" / echo message="DONE (Deleting temporary files)" / /target

執(zhí)行的操作是刪除所有臨時(shí)目錄,在cmd窗口中輸入Ant clean,這四個(gè)臨時(shí)目錄就會(huì)被刪除,和在eclipse中執(zhí)行清理是一個(gè)效果。

使用Ant編譯Android工程

在SDK中,Google已經(jīng)為我們寫好了一個(gè)build.xml文件,就是sdk根目錄\tools\ant\build.xml,所以我們只要把這個(gè)build.xml引入就可以編譯Android工程了。

在這之前首先要新建一個(gè)local.properties文件,引入sdk和ndk的路徑

輸入一下內(nèi)容:

sdk.dir=D:\\Android\\android-sdk

ndk.dir=D:\\Android\\android-ndk

分別為sdk和ndk的路徑,要安裝自己的實(shí)際路徑進(jìn)行配置。

在測(cè)試工程的build.xml中輸入一下代碼:

?xml version="1.0" encoding="UTF-8"?project name="TestAnt" default="release" loadproperties srcFile="local.properties" / loadproperties srcFile="project.properties" / fail message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'" unless="sdk.dir" / fail message="ndk.dir is missing. Make sure to generate local.properties using 'android update project'" unless="ndk.dir" / import file="${sdk.dir}/tools/ant/build.xml" //project

在命令行中執(zhí)行ant release或ant debug,就會(huì)執(zhí)行對(duì)應(yīng)的編譯。

以上只是進(jìn)行Java代碼的編譯,如何編譯native代碼呢,在NDK中Google可沒有提夠build.xml,這就需要我們自己實(shí)現(xiàn)。在新版NDK中,我們只要在命令行中切換到工程的根目錄,然后執(zhí)行

“D:\Android\android-ndk\ndk-build.cmd”(紅色部分要替換成自己的路徑)

就可以,例如,在TestAnt工程中添加native代碼

執(zhí)行ndk-build

所以我們只要在Ant中執(zhí)行一個(gè)cmd命令就可以了,在build.xml中添加

target name="native" echo message="Building native libraries..." / exec executable="${ndk.dir}/ndk-build.cmd" failonerror="true" / echo message="DONE (Building native libraries)" / /target

然后在命令行中執(zhí)行ant native

執(zhí)行了ndk-build。

以上介紹的都是使用Ant進(jìn)行進(jìn)步的Android編譯操作,在此基礎(chǔ)上可以實(shí)現(xiàn)更復(fù)雜的操作,比如批量替換資源文件,批量打包等等。

android 如何優(yōu)化ant 批量打包

1.配置JAVA的環(huán)境變量

很多Java程序員由于使用Eclipse不配置Java環(huán)境變量也能正常運(yùn)行代碼。但是如果想使用Ant命令批量打包本步驟必不可少。

2. 下載Ant(這里的Ant不是eclipse和android SDk里面自帶的ant)

3. 解壓Ant并配置環(huán)境變量

a) 解壓Ant,比如解壓到D:\ant

b) 我的電腦-屬性-高級(jí)-環(huán)境變量

c) 系統(tǒng)變量新建ANT_HOME,變量值為d:\ant

d) 系統(tǒng)變量新建或修改PATH:將%ANT_HOME%\bin;%ANT_HOME%\lib添加到環(huán)境變量的PATH中 (注意以上

路徑均用反斜杠)

4. 驗(yàn)證ant配置是否正確

在控制臺(tái)輸入Cmd 回車, ant 回車,如果出現(xiàn):

Buildfile: build.xml does not exist!

Build failed

恭喜你已經(jīng)ant配置成功??!

Ant批量打包的基本思想是,每次打包后自動(dòng)替換渠道號(hào),然后再次打包從而實(shí)現(xiàn)多渠道打包的目的。

但是Ant不支持循環(huán),怎樣循環(huán)打包? 擴(kuò)展包Ant-contrib能輕松解決這個(gè)問題.可以翻墻的1.0b3.jar放到Ant的lib文件夾即可.

5. 編寫build.xml

將以下帶有顏色的字體(包括路徑,項(xiàng)目名稱)都改成正確的名稱

?xml version="1.0" encoding="UTF-8"?

project name="ThumbPlay" default="help"

!-- The local.properties file is created and updated by the 'android' tool.

It contains the path to the SDK. It should *NOT* be checked into

Version Control Systems. --

property file="local.properties" /

!-- The ant.properties file can be created by you. It is only edited by the

'android' tool to add properties to it.

This is the place to change some Ant specific build properties.

Here are some properties you may want to change/update:

source.dir

The name of the source directory. Default is 'src'.

out.dir

The name of the output directory. Default is 'bin'.

For other overridable properties, look at the beginning of the rules

files in the SDK, at tools/ant/build.xml

Properties related to the SDK location or the project target should

be updated using the 'android' tool with the 'update' action.

This file is an integral part of the build system for your

application and should be checked into Version Control Systems.

--

property file="ant.properties" /

!-- The project.properties file is created and updated by the 'android'

tool, as well as ADT.

This contains project specific properties such as project target, and library

dependencies. Lower level build properties are stored in ant.properties

(or in .classpath for Eclipse projects).

This file is an integral part of the build system for your

application and should be checked into Version Control Systems. --

loadproperties srcFile="project.properties" /

!-- quick check on sdk.dir --

fail

message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"

unless="sdk.dir"

/

!-- extension targets. Uncomment the ones where you want to do custom work

in between standard targets --

!--

target name="-pre-build"

/target

target name="-pre-compile"

/target

target name="-post-compile"

/target

--

!-- Import the actual build file.

To customize existing targets, there are two options:

- Customize only one target:

- copy/paste the target into this file, *before* the

import task.

- customize it to your needs.

- Customize the whole content of build.xml

- copy/paste the content of the rules files (minus the top node)

into this file, replacing the import task.

- customize to your needs.

***********************

****** IMPORTANT ******

***********************

In all cases you must update the value of version-tag below to read 'custom' instead of an integer,

in order to avoid having your file be overridden by tools such as "android update project"

--

!-- version-tag: 1 --

taskdef resource="net/sf/antcontrib/antcontrib.properties"

classpath

pathelement location="D:/androidDev/batch-package-tool/ant1.8.3/lib/ant-contrib-1.0b3.jar"/

/classpath

/taskdef

import file="${sdk.dir}/tools/ant/build.xml" /

target name="deploy"

foreach target="modify_manifest" list="${market_channels}" param="channel" delimiter=","

/foreach

/target

target name="modify_manifest"

!--replaceregexp file="AndroidManifest.xml" encoding="utf-8" match="android:value="(.*)"" replace=""/--

replaceregexp flags="g" byline="false"

regexp pattern="android:name="UMENG_CHANNEL" android:value="(.*)"" /

substitution expression="android:name="UMENG_CHANNEL" android:value="${channel}"" /

fileset dir="" includes="AndroidManifest.xml" /

/replaceregexp

!--property name="out.release.file" value="${out.absolute.dir}/${channel}.apk"/--

antcall target="release"/

copy tofile="${gos.path}/ThumbPlay_${channel}.apk"

fileset dir="${out.absolute.dir}/" includes="ThumbPlay-release.apk" /

/copy

delete includeEmptyDirs="true"

fileset dir="${out.absolute.dir}" includes="**/*"/

/delete

echo message="==========================="/

/target

/project

6. 配置local.properties

sdk.dir=D:\\androidDev\\android-sdk 改成你的SDK所在的目錄,注意轉(zhuǎn)義字符

7. 配置ant.properties

# the config file for batch package.

application.package=com.leyou.thumb (你的apk文件的包名)

ant.project.name=ThumbPlay (你的apk文件的工程名)

java.encoding=utf-8

out.absolute.dir=C:/compile

gos.path=Z:/app-version/test (打好的渠道包要放到的目的位置)

key.store=D:/androidApk/thumbplay/thumbplay.keystore (keystore文件路徑)

key.store.password=wushenshiji999 (keystore文件路徑)

key.alias=muzhigame (keystore文件別名)

key.alias.password=wushenshiji999 (keystore文件別名密碼)

app_version=1.0.4 (要打的渠道包的版本名稱)

market_channels=guanwang,shuihu,wushen,shenhua,huawei (渠道名稱,要以逗號(hào)分隔,必須在一行內(nèi))

如何將android原生應(yīng)用改成ant方式編譯

android 程序打包成apk,如果在是命令行方式,一般都要經(jīng)過如下步驟:

1.用aapt命令生成R.java文件

2.用aidl命令生成相應(yīng)java文件

3.用javac命令編譯java源文件生成class文件

4.用dx.bat將class文件轉(zhuǎn)換成classes.dex文件

5.用aapt命令生成資源包文件resources.ap_

6.用apkbuilder.bat打包資源和classes.dex文件,生成unsigned.apk

7.用jarsinger命令對(duì)apk認(rèn)證,生成signed.apk

eclipase手動(dòng)打包生成apk方式,只不過是eclipase代替執(zhí)行了以上命令而已。

eclipse用起來(lái)雖然方便,為什么要使用Ant批量打包Android應(yīng)用,對(duì)于個(gè)人來(lái)說主要有以下兩方面考慮:

1、咱們?cè)诎l(fā)布App的時(shí)候,可能需要發(fā)送到十幾,甚至幾十個(gè)不同的分發(fā)渠道,比如360手機(jī)市場(chǎng),百度,應(yīng)用寶等等,咱們可能需要對(duì)各個(gè)渠道的下載量,用戶存留和用戶使用情況等數(shù)據(jù)進(jìn)行分析,比如使用百度移動(dòng)統(tǒng)計(jì),友盟統(tǒng)計(jì)等。為了實(shí)現(xiàn)統(tǒng)計(jì)功能,需要在配置文件中添加一個(gè)數(shù)據(jù)元,來(lái)標(biāo)識(shí)咱們的應(yīng)用要發(fā)布到哪一個(gè)渠道上,因此,若使用傳統(tǒng)的方法,咱們每發(fā)布一個(gè)渠道的版本,就需要修改清單文件中的數(shù)據(jù)元,然后再使用keystore進(jìn)行簽名和打包。若只有一兩個(gè)分發(fā)渠道,工作量還是可以接受的,但是若咱們的分發(fā)渠道打到幾十個(gè)的時(shí)候,咱們?nèi)绻偈謩?dòng)的進(jìn)行修改然后簽名打包發(fā)布,那工作量就很可觀了。因此,為解決這種需求,咱們采用Ant來(lái)實(shí)現(xiàn)對(duì)Android應(yīng)用的自動(dòng)打包。

2、咱們做產(chǎn)品的時(shí)候,肯定需要經(jīng)常打不同環(huán)境的包,比如開發(fā)環(huán)境,測(cè)試環(huán)境,生產(chǎn)環(huán)境,這個(gè)時(shí)候怎么辦,如果用傳統(tǒng)方法,打開發(fā)環(huán)境包要把自己的服務(wù)端IP和圖片服務(wù)器IP改成開發(fā)的,打包,然后打測(cè)試的包,又要改成測(cè)試服務(wù)器IP和圖片服務(wù)器IP,這樣多麻煩,如果把這服務(wù)端IP和圖片服務(wù)器IP,配置到一個(gè)xml文件里,用ant打包方式實(shí)現(xiàn)自動(dòng)替換,多方便。

怎樣用Ant編譯Android工程?

對(duì)于Android工程,在sdk中其實(shí)已經(jīng)寫好了一個(gè)Ant編譯build配置模板,這樣就使得在使用ant編譯Android工程成為了一件很輕松的事情。

具體該怎樣做呢?

整體來(lái)講分為三大步:

1.準(zhǔn)備環(huán)境,配置環(huán)境變量

2.更新工程,自動(dòng)生成Ant編譯配置文件

3.編譯工程

使用ant腳本打包android項(xiàng)目,包含library項(xiàng)目,如何設(shè)置依賴項(xiàng)目?

設(shè)置方法如下:

1.生成R.java類文件:

Eclipse中會(huì)自動(dòng)生成R.java,ant和命令行使用android SDK提供的aapt.ext程序生成R.java;

2.將.aidl文件生成.java類文件:

Eclipse中自動(dòng)生成,ant和命令行使用android SDK提供的aidl.exe生成.java文件;

3.編譯.java類文件生成class文件:

Eclipse中自動(dòng)生成,ant和命令行使用jdk的javac編譯java類文件生成class文件;

4.將class文件打包生成classes.dex文件:

Eclipse中自動(dòng)生成,ant和命令行使用android SDK提供的dx.bat命令行腳本生成classes.dex文件;

5.打包資源文件:

Eclipse中自動(dòng)生成,ant和命令行使用Android SDK提供的aapt.exe生成資源包文件;

6.生成未簽名的apk安裝文件:

Eclipse中自動(dòng)生成debug簽名文件存放在bin目錄中,ant和命令行使用android SDK提供的apkbuilder.bat命令腳本生成未簽名的apk安裝文件;

7.對(duì)未簽名的apk進(jìn)行簽名生成簽名后的android文件就可以了。


網(wǎng)頁(yè)名稱:關(guān)于antandroid的信息
當(dāng)前鏈接:http://weahome.cn/article/dsdpsjg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部