gpt4 book ai didi

android-gradle-plugin - 如何禁用 Dexguard?

转载 作者:行者123 更新时间:2023-12-04 18:49:00 27 4
gpt4 key购买 nike

我浏览了文档以寻找如何在运行 gradle 时禁用 dexguard 但保留插件:'dexguard'。

我试图修改 proguardFile getDefaultDexGuardFile('dexguard-debug.pro') 什么都不做,但不幸的是没有运气。我需要为我现在无法检测 apk 的功能测试套件 MonkeyTalk 设置任何 dexguard 功能。

如何关闭 dexguard 功能?

最佳答案

zatziky 对当前 Android Gradle 插件 (v1.0+) 和 Dexguard 插件 (6.1.+) 的回答更新

要创建 dexguard 插件开关,您可以执行以下操作

在你的根 build.gradle 中添加一个属性到你的 ext (或者如果还没有创建它,see here why you would do that)

ext {
enableDexGuardPlugin = false
....
}

在您的应用程序 build.gradle 中添加如下插件:

apply plugin: 'com.android.application'
if(rootProject.ext.enableDexGuardPlugin) {
apply plugin: 'dexguard'
}

如果你有图书馆项目,就这样做

apply plugin: 'com.android.library'
if(rootProject.ext.enableDexGuardPlugin) {
apply plugin: 'dexguard'
}

如果您不需要它们,请从您的调试构建类型(尤其是 getDefaultDexGuardFile('dexguard-release.pro'))中删除所有混淆器配置。不幸的是,至少对于 lib 项目,所有构建类型都是在 assembleDebug 中构建的,因此您必须为 getDefaultDexGuardFile 提供 stub ,如 zatziky 所说:

private File getDefaultDexGuardFile(String name) { new File(name) }

你可以将它添加到你的根 build.gradle 中,这样每个脚本都有它。

现在,如果您期望从中获得巨大的性能优势,您可能会感到失望。关键是在调试版本上禁用所有 minifyEnabled,因为如前所述,目前 gradle android 是愚蠢的并且构建所有构建类型(至少使用 libs)。您可以使用上面的属性:enableDexGuardPlugin

release {
...
minifyEnabled rootProject.ext.enableDexGuardPlugin
...
}

关于android-gradle-plugin - 如何禁用 Dexguard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27508560/

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