Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant 使用Junit或calabash时,我的应用程序活动发生ClassNotFoundException错误_Ant_Junit_Noclassdeffounderror_Classnotfoundexception_Calabash Android - Fatal编程技术网

Ant 使用Junit或calabash时,我的应用程序活动发生ClassNotFoundException错误

Ant 使用Junit或calabash时,我的应用程序活动发生ClassNotFoundException错误,ant,junit,noclassdeffounderror,classnotfoundexception,calabash-android,Ant,Junit,Noclassdeffounderror,Classnotfoundexception,Calabash Android,我在为android应用程序使用自动化脚本时遇到问题 我正在使用ant构建工具获取我的应用程序的apk,我有64K方法的问题,所以我使用ant方法 通过手动测试,Apk在真实设备中运行良好,但当我们使用自动化脚本(如junit或calabash)运行Apk时,我得到了ClassNotFoundException 有关更多信息,请参阅我的日志 注意:SplashActivity是我的应用程序中的一个活动类 08-14 09:48:44.626: W/dalvikvm(921): Unable to

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

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

通过手动测试,Apk在真实设备中运行良好,但当我们使用自动化脚本(如junit或calabash)运行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分钟,所以添加solo.sleep 60*1000我通过单击按钮移动到实际启动程序页面。它起作用了。

你能解决吗?我相信这是一个链接问题,但我自己还不能解决它。@cgspicer是的,我添加了我的aswer。