问题标签 [dexguard]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Dexguard 在发布 apk 中跳过 jni 库
我正在我的项目中实现dexguard,但生成的应用程序崩溃并出现以下错误:
造成的:
java.lang.UnsatisfiedLinkError:未找到本机方法:com.gemalto.android.root.internal 的 com.gemalto.android.root.internal.MedlJni.goMedlJni:(Ljava/lang/String;Ljava/lang/String;)。 MedlJni.goMedlJni(本机方法)
我还解压缩了生成的 apk,发现其中缺少 libs 文件夹。应该对 dexguard 文件应用哪些规则以防止 dexguard 消除发布 apk 中的库?
请提出纠正错误的方法。
android - DexGuard 和矢量绘图
我正在使用 DexGuard 编译我的应用程序。我的应用程序使用矢量绘图。我的所有设置都是正确的,并且在调试版本和使用 Proguard 发布版本时都能正常工作。它只在使用 DexGuard 时在发布版本中崩溃。所以我知道这是一个 DexGuard 问题。我正在使用 DexGuard v7.0,由于许可证限制,我无法更新。我已经添加
-keepresourcefiles "res/drawable/**"
-keep class android.support.v7.** { *; }
到我的 dexguard 文件中以用于测试目的和更清晰的堆栈跟踪,所以我们知道这不是问题。它与以下堆栈跟踪崩溃;
遵循代码后,我发现在使用 DexGuard 时,方法loadDrawableFromDelegates
(从 调用getDrawable
)android.support.v7.widget.AppCompatDrawableManager
返回 null。因此getDrawable
continue 并调用ContextCompat.getDrawable
,它在棒棒糖之前的设备中不支持向量,它返回 null 并带有invalid drawable tag vector
日志,因此导致ResourcesNotFoundException
.
使用调试版本时,loadDrawableFromDelegates
确实返回一个 Drawable,因此ContextCompat.getDrawable
不会被调用,并且一切正常。有谁知道如何避免这种情况。我用谷歌搜索过,还有其他人也有类似的问题,但主要是 appcompat 矢量设置问题,而不是 DexGuard。
android - DexGuard 7 和改造 2 错误
在我的应用程序中,我使用改造 2 进行网络通信。我有一个 serverAPI 接口,其中包含每个 api 请求,例如:
我使用 Dexguard 7.2.09 来混淆我的应用程序,并且每个网络通信都可以正常工作!
我真的不知道出了什么问题。
我在调试器中看到,当应用程序调用此请求时,代码会跳转到 onFailure() 方法,但应用程序不会将请求发送到服务器。
如果我不混淆应用程序,一切正常。
android - 零支持的安卓设备之谜
我已经尝试解决这个问题大约一个月了,但我找不到任何指向可能导致我的问题的信息。我已经检查过了,这似乎不是我所看到的“使用功能”问题之一。
我在开发者控制台上发布了一个与“支持的 Android 设备”详细信息相关的先前问题,这似乎与我相矛盾。0 支持的设备与否?
下面是 aapt 的输出。任何人都可以看到任何会导致零支持的android设备的东西吗?感谢所有帮助。我已经删除了输出的“标签”行。
firebase - Dexguard 导致 Firebase 崩溃
知道为什么会发生这种崩溃吗?调试构建工作,但 Dexguard 版本在尝试登录用户时崩溃(使用登录signInWithCustomToken
)
更新:以下 proguard 设置修复了该问题
-keep class com.google.android.gms.internal.** { *; }
Firebase 版本:9.4.0
Proguard 配置:
android - Flexjson 和 Dexguard/Proguard
当涉及到 flexjson 库时,我在使用 dexguard 时遇到问题。尝试使用 JSONDeserializer 反序列化时,我不断收到以下错误。
有没有人有适当的规则让 flexjson 在 android 发布 apk 中混淆后正常工作?
类似于 gson lib 的东西。
android-gradle-plugin - Android gradle 插件(升级到 2.2.0 后)在 dexguard 任务错误“No signature of method: ....getAllLibraries()”时失败
我在“dexguard”任务期间得到了这个堆栈跟踪(所有行都以时间戳和开头[ERROR] [org.gradle.BuildExceptionReporter]
):
我在 Windows 7 64b 上使用 DexGuard v7.1.23、Android Studio 2.2、默认 gradle 2.14.1。
更改后发生错误(在所有相关build.gradle
脚本中):
使用 gradle 插件 2.1.3 构建工作。
我尝试通过远程连接到 gradle 在 Android Studio 中对其进行调试,但是虽然调试器中的“暂停”按钮看起来像是暂停了进程,并且我可以恢复执行,但它不会显示任何代码(可能需要 gradle 的来源以及所有涉及的插件?)。
我认为错误最有可能出现在 dexguard gradle 插件代码中,它访问了 android gradle plugin 2.2.0 中不再可用的东西。
提问时间:
如何甚至调试/修复这样的东西?我已经习惯了来自大型 C++ 项目的一些重要的构建方案,这些项目涉及 make 文件和执行外部工具的各种脚本(我可以轻松地在源代码级别检查每个构建错误,并准确了解使用什么参数调用二进制文件以及为什么) ,但是这个 gradle 生态系统有这么多从一些网络存储库下载的动态部分和极慢的 Groovy 执行控制,对我来说有点太复杂了,超出了我的想象。
是否有(不是很困难)调试构建过程的方法(我不是在谈论本机调试器和调试 VM 本身,虽然可能,但结果听起来毫无用处)?也许一些简单的方法也可以从存储库中获取源包,类似于 linux 的 -src.pkg,只需添加依赖项?
或者我可以在某处找到缓存的 dexGuard gradle 插件二进制文件,将其反汇编,检查它调用的内容,然后在我自己的脚本中手动重写它?
任何有关如何获取有关该 gradle blackbox 的更多信息的建议都值得赞赏,即。它是如何工作的,为什么失败等等......(虽然我不考虑正确学习整个 Groovy,特别是因为即使对于核心语言我也没有那种心态(我是一个简单的人,在 ASM 中思考和 C++),如果我理解得很好,gradle 会以特定领域的方式扩展它,所以纯 Groovy 甚至不足以流利地理解这些脚本?)。
android - 图书馆项目中的 Dexguard
我正在从 Dexguard 6 升级到 7,并且有一个关于库混淆的问题。使用 Dexguard 6,我可以混淆我的库,它是 Android Studio 中的一个模块,然后在我的应用程序中使用这个模块,并将其作为本地依赖项:
但是,当我尝试使用 Dexguard 7.0.31 执行此操作时,出现异常:
任务 ':sdk:transformClassesAndResourcesWithProguardForRelease' 执行失败。> java.io.FileNotFoundException: /lib/dexguard-library-release.pro (没有这样的文件或目录)
android-proguard - proguard.ParseException:proguard.cfg 中的未知选项“-encryptstrings”
当我使用 progurad 选项运行 mvn install 目标时,出现以下错误。以前,我没有这个错误。我找不到导致以下错误的原因:
我正在为我的项目使用 dexguard。这个错误是因为 maven 无法识别 dexguard 文件夹位置吗?
proguard.cfg 内容:
以下工作没有问题:android - Proguard 应用程序执行错误
当我不使用 proguard 时,它工作得非常好。但是,当我尝试使用 dexguard 或 proguard 时,它不起作用。但我可以制作apk文件。
令人惊讶的是我尝试了选项,但它没有优化我的文件,同样的错误发生了。
错误是:
所以我尝试调试,我发现该应用程序停在下面的代码段。
有人可以帮我弄这个吗?