gpt4 book ai didi

android - uiautomator启动时出现ClassNotFoundException如何解决?

转载 作者:行者123 更新时间:2023-11-30 02:49:46 25 4
gpt4 key购买 nike

我正在尝试使用 android-sdk 为我的应用程序提供的工具为我的应用程序创建 GUI 测试。一开始我设置了一个项目,如 http://developer.android.com/tools/testing/testing_ui.html 中所述在“配置您的开发环境”中。目前我已经从 http://developer.android.com/tools/testing/testing_ui.html#sample 中进行了示例测试并将其放入 UITestsMyAppBasis 项目中,在 com.MyApp.guitest 包中

命令 ant build 成功运行,我在项目的 bin 目录中得到了一个 jar 文件。但是当我尝试通过以下方式启动它时:

adb push ./UiTestsMyAppBasis.jar /data/local/tmp
adb shell uiautomator runtest UITestsMyAppBasis.jar -c com.MyApp.guitest

我得到控制台输出:

INSTRUMENTATION_RESULT: shortMsg=java.lang.RuntimeException
INSTRUMENTATION_RESULT: longMsg=com.MyApp.guitest
INSTRUMENTATION_CODE: 0

和 logcat 输出:

java.lang.RuntimeException: com.MyApp.guitest
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:98)
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.run(UiAutomatorTestRunner.java:85)
at com.android.commands.uiautomator.RunTestCommand.run(RunTestCommand.java:76)
at com.android.commands.uiautomator.Launcher.main(Launcher.java:83)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.MyApp.guitest
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at com.android.uiautomator.testrunner.TestCaseCollector.addTestClass(TestCaseCollector.java:84)
at com.android.uiautomator.testrunner.TestCaseCollector.addTestClass(TestCaseCollector.java:72)
at com.android.uiautomator.testrunner.TestCaseCollector.addTestClasses(TestCaseCollector.java:53)
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:95)

我正在使用安卓模拟器

  • 目标名称:Google API (Google Inc.)

  • 平台:4.1.2

  • API 级别:16

  • CPU/ABI ARM (armeabi-v7a)

  • 设备:10.1"WXGA(平板电脑)(1280x800;mdpi)

  • 内存选项:Ram:512 VM 堆:32

  • 内部存储:200 MiB

  • SD 卡:256 MiB

  • 仿真选项:使用主机 GPU

https://stackoverflow.com/a/13805869/1171328 中所述,在/data/dalvik-cache 上设置 chmod没有改变输出。

最佳答案

我相信,这应该可以解决您的问题:

-c 参数用于运行类而不是包。所以应该是:

adb shell uiautomator runtest UITestsMyAppBasis.jar -c com.MyApp.guitest.<class_name>

关于android - uiautomator启动时出现ClassNotFoundException如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24405713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com