(转)[Android] 利用 ant 脚本修改项目包名
生活随笔
收集整理的這篇文章主要介紹了
(转)[Android] 利用 ant 脚本修改项目包名
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[Android] 利用 ant 腳本修改項目包名在開發android應用項目的時候,經常會有這樣的需求,一個應用項目,要求
房價上半年下行 下半年或回暖
在不同的OEM下有不同的包名,不同的資源,不同的功能點什么的。盡管可以利用eclipse adt自帶的功能來做這件事,但是,當按照這樣的需求來定制的越來越多的時候,手動去修改就開始變得力不從心起來。這個時候,一個良好的自動化腳本呼之欲出,你完全可以利用perl/python/Makefile來做,不過這里如果直接使用ant來做的話,似乎很多事情變得簡單起來。畢竟,ant提供給我們良好的接口,而隱藏那些實現細節。
廢話少說,先搭建一個這樣的環境吧。 首先還是簡述一下我的工作環境Windows 7 1. 下載安裝jdk, 一定是jdk, 如果只安裝jre的話,在運行ant時會報錯,說找不到tools.jar這個文件。 安裝完畢后在系統環境變量下設置JAVA_HOME=C:\Program Files\Java\jdk1.6.0_25(這個換成自己的安裝路徑) 2. 下載安裝ant 其實就是解壓到某目錄下,解壓完畢后在系統環境變量下設置ANT_HOME=D:\apache-ant-1.8.2(這個換成自己的安裝路徑) 并添加運行路徑Path=%Path%;%ANT_HOME%\bin 3. 更新project android.bat update project --path . 4. 使用ant ant release (或者是debug) 5. 定制自己的腳本來完成修改項目包名等內容- 準備config.xml
<?xml version="1.0"
encoding="UTF-8"?>
<!-- www.Ulrich-Scheller.de - use this
script/project for whatever you want on your own risk -->
<project
name="myproject" default="myproject" basedir=".">
<description>
Build project for different partner </description>
<!--partner.dir, pkg.name, ver.code, ver.name are input from command line
when execute 'ant' -->
<!-- set global properties for this
build -->
<property name="build.bin" location="bin"/>
<property name="build.gen" location="gen"/>
<property name="src"
location="src"/>
<property name="res"
location="res"/>
<target name="preparefiles"
description="Prepare files for different partner" >
<delete
dir="${build.bin}" />
<delete dir="${build.gen}"
/>
<copy todir="${res}" overwrite="true" />
<fileset dir="${partner.dir}/res" />
</copy>
<!-- change the import in all Java source files
-->
<replaceregexp file="AndroidManifest.xml"
match='android.versionCode="(.*)"'
replace='android.versionCode="${ver.code}"'
byline="false">
<replaceregexp
file="AndroidManifest.xml"
match='android.versionName="(.*)"'
replace='android.versionName="${ver.name}"'
byline="false">
<replaceregexp
file="AndroidManifest.xml"
match='package="(.*)"'
replace='package="${pkg.name}"'
byline="false">
<!-- change the package name in AndroidManifest -->
<replaceregexp flags="g" byline="false">
<regexp
pattern="import(.*)com.myproject.com.R;" />
<substitution
expression="import com.${pkg.name}.R;" />
<fileset
dir="${src}" includes="***.java" />
</replaceregexp>
</target>
</project> - 運行定制腳本
$ ant -f config.xml -Dpartner.dir="xxx" -Dpkg.name="xxx"
-Dver.code="xxx" -Dver.name="xxx" preparefiles - 編譯
$ ant debug
或者
$ ant release 具體www.hc3600.comwww.dgdaming.com的定制細節可以參考上面的腳本和如下鏈接里提到的內容
轉載于:https://www.cnblogs.com/greywolf/archive/2013/04/23/3037231.html
總結
以上是生活随笔為你收集整理的(转)[Android] 利用 ant 脚本修改项目包名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: class.forname().newI
- 下一篇: Crontab 使用(转)