gpt4 book ai didi

java - 从 Eclipse 执行 android 测试用例与控制台远程检测

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:25 25 4
gpt4 key购买 nike

假设 Eclipse 中的 Android 项目由 2 个项目构建而成:项目 1 是一个 Java 库,它在 Android 上编译得很好。项目 2 是库的测试用例,本质上是扩展 AndroidTestCase 并将结果输出到 Android 控制台的类。项目1是Java项目,项目2是依赖于项目1的Android项目。

问题描述:如果我从 Eclipse 执行测试作为 Android JUnit 测试,它们会按预期运行,没有错误。但是,如果我想通过命令行再次执行它们:

adb shell am instrument -w bla.bla/android.test.InstrumentationTestRunner

我得到了很多

Cannot load class. Make sure it is in your apk. Class name: xyz
java.lang.ClassNotFoundException: xyz
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:234)
at android.test.ClassPathPackageInfoSource.createPackageInfo
....

Caused by: java.lang.ClassNotFoundException: xyz in loader
dalvik.system.PathClassLoader[/system/framework/android.test.runner.jar:/data/app/bla.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
....

logcat 中的错误。

观察:Eclipse 安装 .apk。稍后我执行相同的已安装的 .apk,因此可用的类必须相同。使用 Class c = Class.forName("xyz") 动态请求类。

所以我的问题是,Eclipse 如何以不同方式执行已安装的 .apk,以便在运行时找到正确的类?

最佳答案

你确定 xyz.class 在 CLASSPATH 中吗?

我遇到了同样的问题,就是这个问题!

关于java - 从 Eclipse 执行 android 测试用例与控制台远程检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037255/

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