目錄
1、前言
2、aaptOptions 結構簡析
3、aaptOptions 屬性
4、寫在最後
android
今天進行分享 aaptOptions 配置。aapt 全稱爲 Android Asset Packaging Tool,即爲Android資源打包工具。能夠經過其來進行配置打包的細節。git
會映射爲 com.android.build.gradle.internal.dsl.aaptOptions
類。該類比較簡單,沒有繼承任何類github
android{
aaptOptions{
...
}
}
複製代碼
aapt --help
進行查看。舉個例子,進行更改包名算法
aaptOptions{
// 會將包名更改成 com.zinc.test
additionalParameters '--rename-manifest-package','com.zinc.test'
}
複製代碼
AndroidManifest.xml
文件以下,包名爲 com.zinc.gradlestudy
app
./gradlew clean aR
,進行運行編譯,編譯完的包以下所示,包名更改成
com.zinc.test
aaptOptions{
cruncherProcesses 4
}
複製代碼
aaptOptions{
failOnMissingConfigEntry true
}
複製代碼
aaptOptions{
// 忽略掉 png 後綴的圖像,只會排除 assets 下的資源,res下的資源不會排除
ignoreAssets "*.png"
}
複製代碼
使用了上面的配置以後,使用工具
./gradlew app:clean app:aR
複製代碼
進行打包,包中內容以下,t121212.png
的圖片以 'png' 結尾則被過濾掉 gradle
aaptOptions{
// 忽略掉 png 後綴的圖像,只會排除 res 下的資源,assets下的資源不會排除
ignoreAssetsPattern '*.png'
}
複製代碼
ignoreAssets 和 ignoreAssetsPattern 區別 從源碼角度來看,二者是同樣的,以下圖所示(AaptOptions 的源碼段)setIgnoreAssets 方法最終調用了 setIgnoreAssetsPattern。而 getIgnoreAssets 和 getIgnoreAssetsPattern 返回的字段都爲 ignoreAssetsPattern。 ui
![]()
aapt l -v apk路徑
進行查看壓縮的細節。aaptOptions{
// 不對 bat 進行壓縮
noCompress '.bat'
}
複製代碼
不由用壓縮以前,默認會對 「bat」 後綴的文件進行壓縮。以下圖,使用了 DEFLATE 算法進行壓縮,壓縮比率11%。 spa
Gradle項目地址:Github傳送門 (若是對你有所幫助或喜歡的話,賞個star吧,碼字不易,請多多支持)線程
本篇博文的 aaptOptions 配置,請進傳送門
若是以爲本篇博文對你有所啓發或是解決了困惑,給個贊或關注我呀,小盆友會繼續分享更多的優質文章。
或是請我喝杯咖啡吧,小盆友會更加信心百倍的寫下去