首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DexGuard -带Robolectric的Encryptclasses

DexGuard -带Robolectric的Encryptclasses
EN

Stack Overflow用户
提问于 2015-08-27 18:54:52
回答 1查看 277关注 0票数 1

对于某些类,我在使用DexGuard运行-encryptclasses时遇到问题。这个问题只会在运行Robolectric单元测试时发生。我从任何被DexGuard混淆和加密的类中得到一个DexGuard。如果我关闭加密类标记,它在Robolectric中工作。

这种配置也适用于设备和模拟器:在Android环境中运行应用程序(在Dalvik和ART设备和模拟器中进行测试)工作得很好。Android仪器测试也是有效的。只有在运行Robolectric时,我才会得到一个NullPointerException。如果我禁用DexGuard加密类,一切都在Robolectric中工作。

DexGuard正在我所依赖的库中使用。这个库被添加到我的gradle模块的libs文件夹中。

我会将此作为Robolectric问题发布,但如果没有DexGuard工具的许可,它们很可能无法复制。

安装程序是:

  • Android Studio 1.3.2
  • Android Gradle插件1.3.1
  • Android构建工具23.0.0版
  • 安卓compileSdkVersion 22
  • Oracle JDK 8
  • Ubuntu 15.04 64位
  • DexGuard版本: 5.5.00
EN

回答 1

Stack Overflow用户

发布于 2015-08-28 05:22:08

Robolectric非常密集地使用反射,任何类型的混淆都很容易破坏这一功能。

我将创建用于测试目的的构建配置,在那里我将关闭右转。与默认情况下的调试相同,默认情况下这不会混淆您的代码。

单元测试的问题是测试一小部分功能,而不是测试构建过程与混淆和代码功能的组合。

我也会写信给DexGuard的人,看看右后卫是否在正确的地方做混淆。我的理解是,在VM上运行should测试不应该被任何混淆。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32257355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档