ant編譯中文報錯
❶ 如何使用android自帶的ant
Ant是android的編譯打包工具,一個很好的跨平台構建工具,特別是對於java項目,這里使用它對Android工程進行自動化構建可以得到非常大的便利。一般來說對Android工程進行構。
使用Ant搭建Android開發環境,建立android項目
配置Ant環境在windows上應該選擇zip壓縮包,將zip壓縮包解壓到一個目錄。
打開系統環境變數,在系統變數欄點擊新建,變數名輸入「ANT_HOME」,變數值為Ant的根目錄,如「D:\Android\apache-ant-1.9.0」,注意不要帶雙引號。
在系統變數中找到Path變數,點擊編輯,在變數值的最後添加「%ANT_HOME%\bin」,注意不要帶雙引號,並且要使用「;」和之前的變數值隔開。
打開一個cmd窗口,輸入「ant」,如果顯示一下信息,說明Ant的環境配置成功,如果顯示:'ant'
不是內部或外部命令,也不是可運行的程序或批處理文件。則要檢查一下路徑是否有問題。
在Eclipse中配置Ant
在eclipse中使用Ant之前,為了使Ant的build.xml文件能夠安裝制定的格式進行縮進和高亮顯示,並能夠進行代碼提示,首先要簡單的設置一下。
打開Windows - Preferences,依次展開General,Editors,選中File Associations,點擊Add...,在Add
File Type對話框中輸入build.xml,點擊Ok。
接下來在File type:欄選中build.xml,在Associated Editor:欄選中Ant
Editor,點擊Default,build.xml的圖標變成了一個小螞蟻,配置完畢。
使用Ant編譯Android的java代碼和native代碼
新建一個Android工程TestAnt,在工程的根目錄下新建一個build.xml文件
輸入以下內容:
<?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
編譯成功,來解析這個build.xml:
<project name="TestAnt" default="init">
project是Ant工程的根節點,name屬性是工程的名稱,default是默認執行的target,init為默認的target,當我們輸入Ant的時候和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指定了要執行的操作,init是我們為這個target所起的名字,也可以是build,clean等等。在這個target中,執行的是檢查Ant的版本,如個小於1.7.0的話會輸出報錯信息。
例如我們可以添加一個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>
執行的操作是刪除所有臨時目錄,在cmd窗口中輸入Ant clean,這四個臨時目錄就會被刪除,和在eclipse中執行清理是一個效果。
使用Ant編譯Android工程
在SDK中,Google已經為我們寫好了一個build.xml文件,就是sdk根目錄\tools\ant\build.xml,所以我們只要把這個build.xml引入就可以編譯Android工程了。
在這之前首先要新建一個local.properties文件,引入sdk和ndk的路徑
輸入一下內容:
sdk.dir=D:\\Android\\android-sdk
ndk.dir=D:\\Android\\android-ndk
分別為sdk和ndk的路徑,要安裝自己的實際路徑進行配置。
在測試工程的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>
在命令行中執行ant release或ant debug,就會執行對應的編譯。
以上只是進行Java代碼的編譯,如何編譯native代碼呢,在NDK中Google可沒有提夠build.xml,這就需要我們自己實現。在新版NDK中,我們只要在命令行中切換到工程的根目錄,然後執行
「D:\Android\android-ndk\ndk-build.cmd」(紅色部分要替換成自己的路徑)
就可以,例如,在TestAnt工程中添加native代碼
執行ndk-build
所以我們只要在Ant中執行一個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>
然後在命令行中執行ant native
執行了ndk-build。
以上介紹的都是使用Ant進行進步的Android編譯操作,在此基礎上可以實現更復雜的操作,比如批量替換資源文件,批量打包等等。
❷ ant 打包編譯過程報錯:不兼容的類型
說明源文件有的不 是utf-8編碼的,應該修改源文件的編碼。。。。。。。。。。。。
Haskell
❸ ant編譯報錯的問題
不是代碼的問題,是你引包出現的問題。給的報錯已經很明顯了,EntityDaoHibernate類和EntityDaoHibernate類都有findByHql方法,且簽名相同。檢查你javac標簽下的classpath有沒有引錯包。
❹ ant腳本編譯spring Servlet工程報包找不到
是不是少什麼了