我可以使用 dexguard 生成未签名的 APK 吗?

Posted

技术标签:

【中文标题】我可以使用 dexguard 生成未签名的 APK 吗?【英文标题】:Can I generate an unsigned APK using dexguard? 【发布时间】:2018-02-28 14:30:46 【问题描述】:

我的问题很简单,但我似乎在网上找不到答案,而且由于 dexGuard 没有试用期,我无法自己测试。

我可以在 android Studio 中生成一个使用 dexguard 混淆/加密的 unsigend apk。有人告诉我这是不可能的,因为在混淆/加密过程中使用了签名,但我觉得我错过了一些东西。

我想知道我是否可以获得与启用 proguard 的“assemble release”gradle 任务相同的结果,但使用 dexguard 代替以获得更好的保护。

感谢您的帮助

【问题讨论】:

是的,你可以。这个答案不依赖于未签名/签名和发布/调试。在所有 4 种情况下,我都能构建启用 dexguard 的 APK。 【参考方案1】:

Dexguard 是比 Proguard 更好的版本,因此它具有它的小兄弟的所有功能。来自 Dexguard 文档:

构建 Android 应用程序和库的过程仍然存在 一样的。您可以使用通常的目标调用 gradle,例如 组装、构建、安装和连接仪器测试。例如, 构建应用程序的发布版本并将其安装在 连接设备:

gradle installRelease

要构建库的发布版本:

gradle assembleRelease

调试版本使用调试设置,没有 优化或混淆。发布版本使用发布设置,与 全面优化和混淆。应用程序可以可选地 签。应用程序存档中的条目始终是 zip 对齐的 效率。

此外,您可以使用使 DexGuard 从命令行运行的独立版本。通过使用它,您可以对现有的 Android 应用程序(.apk 文件)进行后处理。

我只在独立模式下使用 Dexguard 来混淆库,但我很确定它会起作用。

【讨论】:

以上是关于我可以使用 dexguard 生成未签名的 APK 吗?的主要内容,如果未能解决你的问题,请参考以下文章

dexguard 8.2.16 导致运行时崩溃

Android Studio 2.3 正在生成未对齐的签名 APK 而不是 zipaligned?

gradle插件更新后生成的apk未签名

React Native 生成​​签名的 APK “未设置用于签名配置发布的 KeyStore 文件”

如何解决此问题“在 app gradle 中 minifyEnabled 为 true 时未生成签名的 apk”

“未安装应用程序”,试图安装签名apk