Android studio 混淆打包時如何忽略依賴庫中的第三方.so文件

如題,今天在打包項目的時候各種報錯,在debug的時候沒有任何問題,那麼很快定位到問題所在---第三方.so文件混淆出問題了....

項目是在AS中編譯的一個module,依賴了一個以前在Eclipse中開發的library,該library通過import module導入到as作爲一個依賴庫的module

想到需要添加混淆忽略,直接在library中編輯proguard-rules.pro,在編譯過程中報各種文件找不到....總之折騰了半天,可能文件結構較複雜,因爲在import module時也修改了部分結構,其中有各種第三方jar包與.so庫....

最後戰略性放棄....

那麼直接在library中忽略不成功,可否在app項目中直接忽略library中的.so文件呢?

最後正解 - -

在app的proguard-rules.pro忽略依賴庫中的文件寫法如下:

-libraryjars  ../XXX(此處爲library名稱)/src/main/jniLibs/armeabi/xxxxx.so
-libraryjars ../XXX(此處爲library名稱)/src/main/jniLibs/armeabi-v7a/xxxxx.so
-libraryjars ../XXX(此處爲library名稱)/src/main/jniLibs/x86/xxxxx.so


同理依賴庫中jar包在app 中忽略混淆的寫法

-libraryjars ../XXX(此處爲library名稱)/libs/xxx.jar
-libraryjars ../XXX(此處爲library名稱)/libs/xxx.jar


最後溫馨提醒:

shrinkResources true 
(該屬性爲打包時是否自動刪除無用的資源與代碼,慎用!!據說有人因爲這個屬性導致app崩潰..此處不詳細討論..)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章