我在尝试在android上运行测试测试时出现错误。我写了一个活动,名为AudioPlayerActivity,位于包com.mycompany.mobile.android.gui,现在我试图测试该项目的GUI,我在下面的错误中运行:无法解决以下活动:当仪器测试Android活动时的意图
java.lang.RuntimeException: Unable to resolve activity for: Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=com.mycompany.mobile.android.gui/.AudioPlayerActivity }
我已阅读this question,并遵循建议有,但都无济于事。我也搜索了错误,但没有找到任何帮助。
这是我的测试项目AndroidManifest.xml中的样子:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mycompany.mobile.android.gui"
android:versionCode="1"
android:versionName="1.0" >
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.mycompany.mobile.android.gui" />
<application>
<uses-library android:name="android.test.runner" />
</application>
<uses-sdk android:targetSdkVersion="7" />
<supports-screens android:anyDensity="true" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
这是我的仪器测试。
package com.mycompany.mobile.android.gui;
import android.test.ActivityInstrumentationTestCase2;
import com.mycompany.mobile.android.gui.AudioPlayerActivity;
public class TestMusicPlayerActivityTest extends ActivityInstrumentationTestCase2<AudioPlayerActivity> {
public TestMusicPlayerActivityTest() {
super("com.mycompany.mobile.android.gui", AudioPlayerActivity.class);
}
public TestMusicPlayerActivityTest(String name) {
super("com.mycompany.mobile.android.gui", AudioPlayerActivity.class);
}
public TestMusicPlayerActivityTest(String pkg, Class<AudioPlayerActivity> activityClass) {
super("com.mycompany.mobile.android.gui", AudioPlayerActivity.class);
}
public void testSomething() {
System.out.println("Nothing works :(");
System.out.println(getActivity());
}
}
我们通过maven运行整个过程,但这不应该是问题的一部分。
正如您所看到的,被测试的Activity也位于相同的包中。因为大多数有此问题的人都会这样做,所以我不会使用活动的超级构造函数来代替软件包名称。
为了您的利益,这是AndroidManifest.xml中描述的测试活动:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mycompany.mobile.android.gui"
android:versionCode="1"
android:versionName="1.0" >
<!-- omitted Uses permission + Uses SDK -->
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:debuggable="true"
android:theme="@style/NoTitleBar"
>
<!-- omitted other activities -->
<activity
android:name="com.mycompany.mobile.android.gui.AudioPlayerActivity"
android:screenOrientation="portrait" ></activity>
</application>
</manifest>
我还增加了活动的AndroidManifest.xml中,但这并没有改变任何东西。我也尝试添加MAIN/LAUNCHER intent过滤器来实现所需的活动,但是这并没有改变测试的结果。我曾试着从事这些活动,没有他们,也没有改变结果。
这现在是无效的。 – 2016-04-02 13:34:08