使用ant自動化編譯、簽名、代碼混淆Android項目

來源:互聯網
上載者:User

前提是已經搭建好ant執行環境。

0、查看target id。

android list targets

1、對已有的項目,建立ant編譯需要的檔案build.xml等。(-t就表示從0步驟選取的id)

android update project -p . -t 4

2、可根據提示,修改build.xml的項目名稱。

3、添加對簽名的支援,新增檔案ant.properties,加入簽名資訊。(舊的ant版本,可能使用build.properties)

key.store=./config/xxx.keystore

key.alias=xxx

key.store.password=xxx
key.alias.password=xxx

4、執行ant release命令,即可在bin目錄產生xxx-release.apk的安裝包。

5、DONE.

        代碼混淆辦法:在project.properties檔案,增加,

        proguard.config=proguard.cfg

        註:1、如某些代碼不允許混淆,需修改proguard.cfg檔案,例如:-keep class com.baidu.mapapi.** {*;}

                2、編譯release時,不要設定AndroidManifest.xml檔案的不要設定application節點的android:debuggable屬性為true。最好不要設定該屬性。

source.dir=src;../weather/src         

                3、若項目引用了外部代碼目錄,會引起自動編譯出錯。解決辦法是:在ant.properties,添加一行:source.dir=src;../abc/src

                4、有可能編譯出來的包,由於在java使用了中文,引起的亂碼,可能的原因是ant編譯的字元集與項目java檔案使用的java檔案不一致造成的。由於ant使用的是UTF-8,項目使用的是GBK,所以我使用的解決辦法是:首先把src目錄gbk編碼的java檔案改成utf-8編碼(參考http://blog.csdn.net/lizhongkan/article/details/7684156),之後更好eclipse項目屬性的字元集為utf-8。之後重新ant clean和ant
release,就OK了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.