运行 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 测试而没有弃用警告时出现“错误的变量名”
生成导出包含 ATL::CString 成员的类的 DLL 时出现警告 C4251