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

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

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

正文

在安卓開(kāi)發(fā)中,通常會(huì)使用到gradle來(lái)編譯,在安卓項(xiàng)目的app目錄下的build.gradle中是用來(lái)對(duì)編譯進(jìn)行配置的,packagingOptions 是其中的一個(gè)打包配置,常見(jiàn)的設(shè)置項(xiàng)有exclude、pickFirst、doNotStrip、merge。

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

pickFirst 匹配

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

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

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

doNotStrip 設(shè)置

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

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

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

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

merge 和pickFirst有些相反,會(huì)合并所有文件

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

exclude 過(guò)濾

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

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

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

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

相關(guān)文章

最新評(píng)論