我想测试来自其他 apk 的活动,并且此测试扩展了 ActivityInstrumentationTestCase2 ( http://developer.android.com/reference/android/test/ActivityInstrumentationTestCase2.html ),因为我需要获取 Activity 和 Instrumentation。
我尝试使用这样的 DexClassLoader:
public MainActivityTest() throws ClassNotFoundException{
super((new DexClassLoader(
"/data/app/my-application.apk", "/data/app/my-application",null, MainActivityTest.class.getClassLoader())).loadClass("my-application.MainActivity")))}
但我得到一个例外:optimizedDirectory not readable/writable: /data/data/valentin.myapplication2
有解决办法吗?
我需要这个活动,因为我在之后使用它:activity.getWindow().getDecorView()
供参考:
@Before
public void setUp() throws Exception {
super.setUp();
injectInstrumentation(InstrumentationRegistry.getInstrumentation());
mActivity = getActivity();
}
@Test
public void testRecorder(){
new ActivityListener(InstrumentationRegistry.getInstrumentation(),mActivity,12).start();
while(true){
}
}