【发布时间】:2016-12-29 09:43:52
【问题描述】:
我已经为我的 Android 应用程序生成了一个 APK(作为尝试),我没有遇到任何问题,APK 已正确生成。
现在,我想在生成 APK 时混淆我的代码,所以我在 build.gradle 文件的 release 块中使用了以下行。
minifyEnabled true
问题是现在它抛出了以下错误:
错误:任务 ':app:transformClassesAndResourcesWithProguardForRelease' 执行失败。 java.io.IOException: 请先更正上述警告。
有很多警告。更准确地说,是 1018 条警告。
大部分都是这样的:
警告:com.itextpdf.text.pdf.security.PdfPKCS7:找不到引用的类 org.spongycastle.asn1.tsp.MessageImprint
或
警告:com.github.mikephil.charting.data.realm.base.RealmBaseDataSet:找不到引用的类 io.realm.Sort
总是同样的错误。找不到引用类的类。
我正在使用 MPAndroidChart,所以我认为这是相关的(因为警告中出现了包的名称),但我无法更正这些警告。
编辑:作为证明,我尝试使用以下方法保留课程:
-keep public class com.itextpdf.text.pdf.**
在我的 proguard-rules.pro 文件上,但我仍然收到相同的警告。
build.gradle 文件中我的release 部分是:
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
我在混淆我的代码时是否遗漏了什么?
提前致谢!
【问题讨论】:
-
@VygintasB 我不认为
-dontwarn将是一个安全的选择。我正在尝试使用-keep公共课程,但我无法使其正常工作。
标签: android proguard mpandroidchart android-proguard