packagingOptions常見的設置項有exclude、pickFirst、doNotStrip、merge。
- exclude,過濾掉某些文件或者目錄不添加到APK中,作用於APK,不能過濾aar和jar中的內容。
比如:
packagingOptions {
exclude 'META-INF/**'
exclude 'lib/arm64-v8a/libmediaplayer.so'
}
- pickFirst,匹配到多個相同文件,只提取第一個。只作用於APK,不能過濾aar和jar中的文件。
比如:
packagingOptions {
pickFirst "lib/armeabi-v7a/libaaa.so"
pickFirst "lib/armeabi-v7a/libbbb.so"
}
- doNotStrip,可以設置某些動態庫不被優化壓縮。
比如:
packagingOptions{
doNotStrip "*/armeabi/*.so"
doNotStrip "*/armeabi-v7a/*.so"
}
- merge,將匹配的文件都添加到APK中,和pickFirst有些相反,會合並所有文件。
比如:
packagingOptions {
merge '**/LICENSE.txt'
merge '**/NOTICE.txt'
}