Dexguard 与 Android 开发中的其他插件冲突

Posted

技术标签:

【中文标题】Dexguard 与 Android 开发中的其他插件冲突【英文标题】:Dexguard conflicting with other plugins in Android development 【发布时间】:2015-01-10 03:48:06 【问题描述】:

我一直在我的 android 项目中使用 Dexguard,它一直运行良好,直到最近我不得不使用另一个插件。因为其他插件的构建方式,需要项目应用“com.android.application”或“com.android.library”。但由于 dexguard 插件是 com.android.application 的扩展,已被 dexguard 取代,因此我无法使用其他需要“android”插件的插件。

//apply plugin: 'android'
apply plugin: 'dexguard'

有谁知道是否有办法解决这个问题?我已经联系了插件的作者,但麻烦每个插件作者寻求解决方案是不切实际的。


参考我的问题:

Dexguard plugin specification

这是我正在尝试使用的plugin (android-apt),它需要插件:Android 并且只有 Android 而不是 dexguard。

【问题讨论】:

您是否联系过 DexGuard 的 Eric 以获得 Dexguard 作为“com.android.application”扩展的替代选项?我确信他会建议这种方式,因为它比手动挂钩所有 Dexguard 任务要简单。如果不是,那么它可能会成为下一个 Dexguard 版本的列表? 感谢@scottyab,是的,我已经联系了 Eric,他给了我一段 sn-p 代码以放入 build.gradle,我只是设法让它工作。所以一切都很好,我很快就会在这里发布解决方案。是的,他建议保留 dexguard 并手动应用其他插件,您可以绕过它们通常具有的项目配置检查 【参考方案1】:

最新的 DexGuard 插件 (6.1.03) 与 Android 插件 (1.0.0) 一起工作,而不是对其进行扩展。这应该会提高它与其他第三方插件的兼容性。

【讨论】:

以上是关于Dexguard 与 Android 开发中的其他插件冲突的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 Dexguard 混淆 android studio 中的资源文件夹?

将 ProGuard / Dexguard 与多个 Android Studio 模块一起使用

Dexguard 7.3.01 与 gradle 2.3.0 不兼容

使用 DexGuard 混淆动态加载的类

Dexguard vs Android 插件 - 中断构建过程

Gradle 同步因 Dexguard 插件而失败(Android Studio)