i succeeded running first uiautomator test case in emulator, , goes fine. when started same test case second time in same emulator. got error:
instrumentation_status: stack=java.lang.nullpointerexception @ com.android.uiautomator.core.shelluiautomatorbridge.getdefaultdisplay(shelluiautomatorbridge.java:50) @ com.android.uiautomator.core.uidevice.getdisplaywidth(uidevice.java:378) @ com.android.uiautomator.core.uidevice.click(uidevice.java:408) @ test.uiautomator.apitest.testcase(apitest.java:172) @ java.lang.reflect.method.invokenative(native method) @ com.android.uiautomator.testrunner.uiautomatortestrunner.start(uiautomatortestrunner.java:160) @ com.android.uiautomator.testrunner.uiautomatortestrunner.run(uiautomatortestrunner.java:96) @ com.android.commands.uiautomator.runtestcommand.run(runtestcommand.java:91) @ com.android.commands.uiautomator.launcher.main(launcher.java:83) @ com.android.internal.os.runtimeinit.nativefinishinit(native method) @ com.android.internal.os.runtimeinit.main(runtimeinit.java:243) @ dalvik.system.nativestart.main(native method) does 1 knows reason? did not modify line in test case, ran second time.
i checked code , error occur here:
public display getdefaultdisplay() { return displaymanagerglobal.getinstance().getrealdisplay(display.default_display);// nullpointer here. } it may becasue displaymanagerglobal.getinstance() returned null.
see code :
/** * gets instance of display manager global singleton. * * @return display manager instance, may null in system startup * before display manager has been initialized. */ public static displaymanagerglobal getinstance() { synchronized (displaymanagerglobal.class) { if (sinstance == null) { ibinder b = servicemanager.getservice(context.display_service); if (b != null) { sinstance = new displaymanagerglobal(idisplaymanager.stub.asinterface(b)); } } return sinstance; } }
Comments
Post a Comment