使用Junit或葫芦时,我的应用程序活动的ClassNotFoundException错误



我在android应用程序使用自动化脚本时遇到问题

我正在使用ant构建工具来获取我的应用程序的apk(我有64 k方法的问题,所以我使用ant方法)

Apk在实际设备中使用手动测试可以很好地工作,但是当我们使用junit或葫芦等自动化脚本运行Apk时,我得到了ClassNotFoundException。

请查看我的日志查看更多信息

注意:"SplashActivity"是我的应用程序中的一个活动类。

08-14 09:48:44.626: W/dalvikvm(921): Unable to resolve superclass of Lcom/xxxxxxx/client/android/activities/SplashActivity; (2944)
08-14 09:48:44.626: W/dalvikvm(921): Link of class 'Lcom/xxxxxxx/client/android/activities/SplashActivity;' failed
08-14 09:48:44.665: W/dalvikvm(921): threadid=14: thread exiting with uncaught exception (group=0x40a71930)
08-14 09:48:44.695: I/System.out(921): URI: //ping
08-14 09:48:44.705: E/AndroidRuntime(921): FATAL EXCEPTION: Thread-87
08-14 09:48:44.705: E/AndroidRuntime(921): java.lang.RuntimeException: java.lang.ClassNotFoundException: com.xxxxxxx.client.android.activities.SplashActivity
08-14 09:48:44.705: E/AndroidRuntime(921): at sh.calaba.instrumentationbackend.InstrumentationBackend.getActivity(InstrumentationBackend.java:52)
08-14 09:48:44.705: E/AndroidRuntime(921): at sh.calaba.instrumentationbackend.InstrumentationBackend$1.run(InstrumentationBackend.java:93)
08-14 09:48:44.705: E/AndroidRuntime(921): Caused by: java.lang.ClassNotFoundException: com.xxxxxxx.client.android.activities.SplashActivity
08-14 09:48:44.705: E/AndroidRuntime(921): at java.lang.Class.classForName(Native Method)
08-14 09:48:44.705: E/AndroidRuntime(921): at java.lang.Class.forName(Class.java:217)
08-14 09:48:44.705: E/AndroidRuntime(921): at java.lang.Class.forName(Class.java:172)
08-14 09:48:44.705: E/AndroidRuntime(921): at sh.calaba.instrumentationbackend.InstrumentationBackend.getActivity(InstrumentationBackend.java:49)
08-14 09:48:44.705: E/AndroidRuntime(921): ... 1 more
08-14 09:48:44.705: E/AndroidRuntime(921): Caused by: java.lang.NoClassDefFoundError: com/xxxxxxx/client/android/activities/SplashActivity
08-14 09:48:44.705: E/AndroidRuntime(921): ... 5 more
08-14 09:48:44.705: E/AndroidRuntime(921): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.xxxxxxx.client.android.activities.SplashActivity" on path: /system/framework/android.test.runner.jar:/data/app/com.xxxxxxx.client.android.test-1.apk:/data/app/com.xxxxxxx.client.android-1.apk
08-14 09:48:44.705: E/AndroidRuntime(921): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
08-14 09:48:44.705: E/AndroidRuntime(921): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
08-14 09:48:44.705: E/AndroidRuntime(921): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
08-14 09:48:44.705: E/AndroidRuntime(921): ... 5 more

我不知道这是正确的答案,但我设法通过以下方式解决了这个问题。

问题的发生是因为在运行时注入外部库。所以我们需要一些时间来初始化注入的库。

当我得到构建测试,我将使用一个按钮单独启动活动。一旦我的外部库初始化完成(我的),它需要1分钟,所以单独添加。睡眠60*1000)我通过点击按钮移动到实际的启动页面。其作品。

相关内容

  • 没有找到相关文章

最新更新