运行 Android 仪器测试时出现重复的类警告

Posted

技术标签:

【中文标题】运行 Android 仪器测试时出现重复的类警告【英文标题】:Duplicate class warning when running Android instrumentation test 【发布时间】:2019-08-26 20:12:39 【问题描述】:

android Studio (3.5) 中创建一个新的空活动项目并运行生成的检测测试时,我收到以下警告:

W/zygote: Found duplicate classes, falling back to extracting from APK : /data/app/com.example.myapplication.test-888XseHjUJwZJ8YXwEvomw==/base.apk
W/zygote: NOTE: This wastes RAM and hurts startup performance.
W/zygote: Found duplicated class when checking oat files: 'Ljunit/runner/BaseTestRunner;' in /data/app/com.example.myapplication.test-888XseHjUJwZJ8YXwEvomw==/base.apk and /system/framework/android.test.runner.jar

是什么原因造成的?可以避免吗?

【问题讨论】:

无论这些警告如何,您都能运行测试吗?我有同样的警告并且无法运行我的测试:TestRunner: run started: 1 tests ... TestRunner: run finished: 0 tests, 0 failed, 0 ignored 但是如果我克隆 github.com/wix/Detox/tree/master/examples/demo-react-native 我可以运行测试并且看不到这些警告。 要回答我自己的澄清问题,您确实可以运行测试而不管这些警告。我的问题是由于 DetoxTest.java 在 main 而不是它自己的“androidTest”文件夹中。 【参考方案1】:

首先确保您拥有最新版本的 IDE,然后您的 IDE 会准确告诉您复制了哪些类。尽量避免使用任何重复的类。

【讨论】:

以上是关于运行 Android 仪器测试时出现重复的类警告的主要内容,如果未能解决你的问题,请参考以下文章

将 Google Cloud 语言库添加到 Android 应用时出现重复的类

尝试通过 Makefile 运行 phpunit 测试而没有弃用警告时出现“错误的变量名”

警告:在两个 SDK 中实现的类

生成导出包含 ATL::CString 成员的类的 DLL 时出现警告 C4251

测试时出现“mpromise(猫鼬的默认承诺库)已弃用”错误[重复]

从 Eclipse 启动 Tomcat 时出现“SetPropertiesRule”警告消息 [重复]