欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android Studio gradle配置packagingOptions打包so庫重復(fù)

 更新時間:2022年11月17日 10:40:52   作者:早起的年輕人  
這篇文章主要為大家介紹了Android Studio gradle配置packagingOptions打包so庫重復(fù)問題的解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

正文

在安卓開發(fā)中,通常會使用到gradle來編譯,在安卓項目的app目錄下的build.gradle中是用來對編譯進行配置的,packagingOptions 是其中的一個打包配置,常見的設(shè)置項有exclude、pickFirst、doNotStrip、merge。

在日常代碼開發(fā)中,我們需要知其然,而知其所以然,本文章知識也是Android日常瘦身的的必備知識。

pickFirst 匹配

pickFirst,匹配到多個相同文件,只提取第一個,不能過濾aar和jar中的文件。

packagingOptions {
  pickFirst 'lib/arm64-v8a/libmsoptimize.so'
}

比如下面的打包日志出錯,就是說有重復(fù)相同的so庫,那么通過 pickFirst 來配置使用第一個就可以解決。 2 files found with path ‘lib/arm64-v8a/libmsoptimize.so’ from inputs:

doNotStrip 設(shè)置

doNotStrip 可以設(shè)置某些動態(tài)庫不被優(yōu)化壓縮。

比如在使用華為HMS的相關(guān)服務(wù)時,他會讓你注意不要壓縮一些so庫。

    packagingOptions {
        pickFirst 'lib/libc++_shared.so'
        doNotStrip "lib/armeabi/libYTCommon.so"
        doNotStrip "lib/armeabi-v7a/libYTCommon.so"
    }

merge 將匹配的文件都添加到APK中

merge 和pickFirst有些相反,會合并所有文件

    packagingOptions {
        merge '**/LICENSE.txt'
        merge '**/NOTICE.txt'
    }

exclude 過濾

exclude 過濾掉某些文件或者目錄不添加到APK中

不能過濾aar和jar中的內(nèi)容,比如項目中有些依賴庫中有多余的so庫,在App中并不是必需的,所以在打包的時候就可以將其過濾了

    packagingOptions {
        exclude 'META-INF/**'
        exclude 'lib/arm64-v8a/libmediaplayer.so'
    }

以上就是Android Studio gradle配置packagingOptions打包so庫重復(fù)的詳細(xì)內(nèi)容,更多關(guān)于Android Studio gradle配置的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論