【发布时间】:2013-02-20 20:42:17
【问题描述】:
我需要截屏,是否可以使用 Robotium 中已有的“takeScreenShot”方法截屏?我已经导入了jar文件,但我并没有太成功。 如果无法使用robotium,您能否提出任何其他解决方案。
public class MyService extends Service {
Solo solo;
Context con;
private Instrumentation it;
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
it = new Instrumentation();
Log.i("My Service", "Instrumentation Obj was created");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
solo = new Solo(it);
if(solo == null)
Log.i("My Service", "Solo Obj was created");
solo.takeScreenshot();
return super.onStartCommand(intent, flags, startId);
}
原木猫 O/P: 03-06 17:27:54.939: W/dalvikvm(1405): VFY: 无法解析 Lcom/example/unboundserviceex/MyService 中的新实例 468 (Lcom/jayway/android/robotium/solo/Solo;); 03-06 17:27:54.949: D/dalvikvm(1405): VFY: 在 0x0000 处替换操作码 0x22 03-06 17:27:54.949: D/dalvikvm(1405): DexOpt: 无法在 Lcom/example/unboundserviceex/MyService;.onStartCommand 的 0x04 处选择直接调用 0x0cf0 03-06 17:27:54.949: I/My Service (1405): Instrumentation Obj 已创建 03-06 17:27:54.959: D/AndroidRuntime(1405): 关闭 VM 03-06 17:27:54.959: W/dalvikvm(1405): threadid=1: 线程以未捕获的异常退出 (group=0x409c01f8) 03-06 17:27:54.979:E/AndroidRuntime(1405):致命异常:主要
03-06 17:27:54.979: E/AndroidRuntime(1405): java.lang.NoClassDefFoundError:
com.jayway.android.robotium.solo.Solo 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 com.example.unboundserviceex.MyService.onStartCommand(MyService.java:33) 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2359) 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 android.app.ActivityThread.access$1900(ActivityThread.java:123) 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210) 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 android.os.Handler.dispatchMessage(Handler.java:99) 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 android.os.Looper.loop(Looper.java:137) 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 android.app.ActivityThread.main(ActivityThread.java:4424) 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 java.lang.reflect.Method.invokeNative(Native Method) 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 java.lang.reflect.Method.invoke(Method.java:511) 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 03-06 17:27:54.979: E/AndroidRuntime(1405): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 03-06 17:27:54.979: E/AndroidRuntime(1405): at dalvik.system.NativeStart.main(Native Method)
我认为的主要错误是:java.lang.NoClassDefFoundError
【问题讨论】: