gpt4 book ai didi

android - -optimizationpasses 大于 2 时的 Proguard 错误

转载 作者:行者123 更新时间:2023-11-29 01:23:03 25 4
gpt4 key购买 nike

编辑:

这是由旧的 Proguard version(4.7) 引起的。 5.2 不再发生


我使用 Proguard(在 eclipse 中)来优化和混淆我的 Android 项目,但发生了一些奇怪的事情。当我将-optimizationpasses设置为1或2时,没问题,但是当我设置为3或以上时,我得到这个错误:

Conversion to Dalvik Format failed with error 1

在 Eclipse 的错误日志 View 中,我发现条目“转换为 Dalvik 格式失败,错误 1”:它包含此堆栈跟踪

org.eclipse.core.runtime.CoreException: Conversion to Dalvik format failed with error 1
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:317)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(ExportWizard.java:313)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(ExportWizard.java:238)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(ExportWizard.java:223)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: com.android.ide.eclipse.adt.internal.build.DexException: Conversion to Dalvik format failed with error 1
at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:825)
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:274)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(ExportWizard.java:313)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(ExportWizard.java:238)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(ExportWizard.java:223)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)

这是关于优化的 Proguard 配置摘录:

-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
#-optimizationpasses 3 or above -> exception
-optimizationpasses 2
#-allowaccessmodification
-dontpreverify

问题:

  • 为什么当 -optimizationpasses 高于时 Proguard 会导致错误2? (特别是因为 android 默认设置是 5(在 sdk 23/M 中)
  • 我如何/在哪里可以找到有关此问题根本原因的更多详细信息问题,并可能向 Proguard 团队报告错误?

感谢帮助

最佳答案

请更新到 Proguard 的最新版本,即从 4.7 到 5.2

这应该可以解决问题。

关于android - -optimizationpasses 大于 2 时的 Proguard 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35620261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com