如何编写一个持续关闭并打开Android应用程序的测试,直到出现运行时异常(显示堆栈跟踪)?我需要这个来重现我们应用程序启动时出现的罕见并发问题。
答案 0 :(得分:0)
好的,我想通了:
for i in {1..100}; do adb -d shell am force-stop XXX && adb shell am start -n XXX/.YYY && sleep 10s; done
您需要使用applicationId
中的build.gradle
替换XXX,并使用AndroidManifest.xml
中的默认活动替换YYY。
从另一个终端运行:
adb -d logcat ZZZ:E *:S
其中ZZZ是您的应用程序名称。这将显示类似于
的堆栈跟踪E/ZZZ(19737): Caused by: java.util.ConcurrentModificationException
E/ZZZ(19737): at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)