使用Proguard时,不会生成mapping.txt文件

时间:2015-08-19 07:35:55

标签: android eclipse android-studio obfuscation android-proguard

我在使用proguard混淆我的应用时遇到了问题。

我能够使用proguard,当我在android studio中创建一个新的应用程序时它正在生成mapping.txt,但是当我尝试在从eclipse迁移到android的项目上使用proguard时,没有生成mapping.txt工作室。

以下是我的proguard-rules.pro文件

-dontobfuscate
-dontshrink
-keepdirectories
-keeppackagenames javax.mail.**
-keeppackagenames javax.activation.**
-keeppackagenames com.sun.mail.**
-keeppackagenames myjava.**
-keeppackagenames org.apache.harmony.**
-keeppackagenames mailcap.**
-keeppackagenames mimetypes.**
-keep class javamail.** {*;}
-keep class javax.mail.** {*;}
-keep class javax.activation.** {*;}
-keep class javax.mail.internet.** {*;}

-keep class com.sun.mail.dsn.** {*;}
-keep class com.sun.mail.handlers.** {*;}
-keep class com.sun.mail.smtp.** {*;}
-keep class com.sun.mail.util.** {*;}

-keep class javax.ws.rs.** { *; }

-keep class mailcap.** {*;}
-keep class mimetypes.** {*;}
-keep class myjava.awt.datatransfer.** {*;}
-keep class org.apache.harmony.awt.** {*;}
-keep class org.apache.harmony.misc.** {*;}

-dontwarn com.fasterxml.jackson.**
-dontwarn java.awt.**
-dontwarn java.beans.Beans
-dontwarn javax.security.**

-ignorewarnings
-printmapping build/outputs/mapping/release/mapping.txt

2 个答案:

答案 0 :(得分:11)

尝试从文件中删除以下行:

-dontobfuscate
.
.
.
-printmapping build/outputs/mapping/release/mapping.txt

第一行似乎禁用了混淆,最后一行似乎将映射文件复制到默认位置以外的位置。

答案 1 :(得分:0)

从整个项目中删除-dontobfuscate,您将获得在build / outputs / mapping /.../ p>下生成的映射文件