我們知道,可以通過如下設置將一個普通的Android工程轉換成Android Library工程
設置前后工程變化如下
使用Ant編譯時(通過android.bat update project 命令生成 build.xml),普通的Android工程會生成apk文件,而Android Library工程只生成jar文件。由于要生成dex并打包apk資源,前者比后者要耗時不少。
有時我們需要從普通工程中導出部分代碼生成jar包,可以手動完成
或者,按照上面的做法,先將一個普通的Android工程轉換成Android Library工程,再執行 ant release 或 ant debug
其實,還有一種更簡單地方法:使用如下方式執行 ant release
ant release -Dandroid.library=true
編譯后將生成一個classes.jar,編譯輸出如下
...
-compile:
[jar] Building jar: F:\xxx\bin\classes.jar
-post-compile:
-obfuscate:
-dex:
[echo] Library project: do not convert bytecode...
...
最后,我們還可以通過添加一個 custom_rules.xml 文件來對生成的jar文件進行更靈活地控制:
Creating my library output jar file...
Custom jar packaging exclusion: ${android.package.excludes}
總結
ant命令中添加 -Dandroid.library=true 參數從普通Android項目中導出jar包
添加一個 custom_rules.xml 文件來對生成的jar文件進行更靈活地控制