Android Studio gradle配置packagingOptions打包so庫(kù)重復(fù)
正文
在安卓開(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)文章
Android編程開(kāi)發(fā)之EditText中inputType屬性小結(jié)
這篇文章主要介紹了Android編程開(kāi)發(fā)之EditText中inputType屬性用法,分析說(shuō)明了Android中EditText的inputType屬性具體含義與使用技巧,需要的朋友可以參考下2016-01-01android實(shí)現(xiàn)查詢(xún)公交車(chē)還有幾站的功能
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)查詢(xún)公交車(chē)還有幾站的功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Android?Hilt?Retrofit?Paging3使用實(shí)例
這篇文章主要介紹了Android?Hilt依賴(lài)注入的使用,首先,某個(gè)類(lèi)的成員變量稱(chēng)為依賴(lài),如若此變量想要實(shí)例化引用其類(lèi)的方法,可以通過(guò)構(gòu)造函數(shù)傳參或者通過(guò)某個(gè)方法獲取對(duì)象,此等通過(guò)外部方法獲取對(duì)象實(shí)例的稱(chēng)為依賴(lài)注入2023-01-01PullToRefreshListView實(shí)現(xiàn)多條目加載上拉刷新和下拉加載
這篇文章主要為大家詳細(xì)介紹了PullToRefreshListView實(shí)現(xiàn)多條目加載上拉刷新和下拉加載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01Android滑動(dòng)拼圖驗(yàn)證碼控件使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android滑動(dòng)拼圖驗(yàn)證碼控件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Android動(dòng)態(tài)更換應(yīng)用圖標(biāo)詳情
這篇文章主要介紹了Android動(dòng)態(tài)更換應(yīng)用圖標(biāo)詳情,文章圍繞主題展開(kāi)詳細(xì)的介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07Android實(shí)現(xiàn)計(jì)步進(jìn)度的環(huán)形Progress
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)計(jì)步進(jìn)度的環(huán)形Progress,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02