Android中出错--找不到:ComponentInfo的检测信息

Android中出错--找不到:ComponentInfo的检测信息,android,instrumentation,Android,Instrumentation,例如,我有一个应用程序将调用联系人,并且必须选择其中一个联系人。 但这并不是我想要的。它向我显示错误无法找到以下的检测信息:ComponentInfo{com.sample/com.sample.ContactsSelectInstrumentation} 下面是我的代码。。 这是我的活动课 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s

例如,我有一个应用程序将调用联系人,并且必须选择其中一个联系人。 但这并不是我想要的。它向我显示错误
无法找到以下的检测信息:ComponentInfo{com.sample/com.sample.ContactsSelectInstrumentation}

下面是我的代码。。 这是我的活动课

 @Override  
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.go);
button.setOnClickListener(mGoListener);
}
private OnClickListener mGoListener = new OnClickListener() {
public void onClick(View v) {
  startInstrumentation(new ComponentName(Test.this,
      ContactsFilterInstrumentation.class), null, null);
}
};
这是我的语言课

class ContactsFilterInstrumentation extends Instrumentation {  
@Override    
  public void onCreate(Bundle arguments) {

super.onCreate(arguments);
start(); 

} 

 @Override  

public void onStart() {

super.onStart();

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName(getTargetContext(), "com.android.phone.Dialer");
Activity activity = startActivitySync(intent);

Log.i("ContactsFilterInstrumentation", "Started: " + activity);
sendKeySync(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_M));
sendKeySync(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_M));
sendKeySync(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_A));
sendKeySync(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_A));
waitForIdleSync();
Log.i("ContactsFilterInstrumentation", "Done!");
finish(Activity.RESULT_OK, null);
}
}
有人能帮我吗。
提前感谢。

通过AndroidManifest.xml的
标记向系统描述检测实现。

我通过执行以下操作解决了此问题:

  • 在清单中使用更高级别的包名称:

  • 将测试包向下一级实施: Java文件1:

    包com.xxx.yyy.zzz.ptest.onlylogin

  • Java文件2:

    package com.xxx.yyy.zzz.ptest.register;
    
  • 指定命令行,如下所示:

    。。。


  • 目录结构应为:

    src
      package.x.y.z.test
          MainTest.java
          CustomInstrumentationRunner.java
    
    然后在AndroidManifest.xml中,设置

    <manifest package="package.x.y.z" ...
    
    <instrumentation
            android:name="package.x.y.z.test.CustomInstrumentationRunner"
    
    adb shell am instrumentation -w package.x.y.z/package.x.y.z.test.CustomInstrumentationRunner