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崩溃..此处不详细讨论..)

你可能感兴趣的:(随笔记录)