我只想启用ProGuard中的混淆功能,但同时禁用代码收缩,因此我设置了
minifyEnabled false
useProguard true
但是,现在发布的编译不再产生mapping.txt
了,我猜这表明没有进行混淆处理吗?我以为minifyEnabled
可以控制代码收缩,而useProguard
可以控制混淆,但是事实并非如此?
useProguard
标志的作用是什么?如何获得所需的结果?
答案 0 :(得分:3)
minifyEnabled true
:它运行ProGuard
shrinkResources true
:它将删除ProGuard标记为未使用的资源。
从DEX删除不需要的文件时,APK大小也会减小。出于您的目的,可以将此属性设置为false
。
答案 1 :(得分:0)
我认为您需要使用-dontshrink
选项来保留所有未使用的类,方法和资源。
阅读Shrinking options,其中文档说
-dontshrink
指定不缩小输入类文件。默认情况下,将应用缩小;除各种-keep选项列出的类以及它们直接或间接依赖的类之外,所有类和类成员都将被删除。在每个优化步骤之后,还会执行缩小步骤,因为某些优化可能会删除更多的类和类成员。