这个问题最近在我的一台开发机器上突然出现。我还没有在我的另一台机器上验证过,但是昨天我在那台机器上没有这个问题。
我遇到的问题是,当我为我的ActivityInstrumentationTestCase2继承类运行测试时。我的设备没有锁屏。我得到以下异常:
java.lang.RuntimeException: Unable to resolve activity for: Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=com.xilconic.achieveitall/.util.activities.TestingFragmentActivity }
at android.app.Instrumentation.startActivitySync(Instrumentation.java:379)
at android.test.InstrumentationTestCase.launchActivityWithIntent(InstrumentationTestCase.java:119)
at android.test.InstrumentationTestCase.launchActivity(InstrumentationTestCase.java:97)
at android.test.ActivityInstrumentationTestCase2.getActivity(ActivityInstrumentationTestCase2.java:104)
at com.xilconic.achieveitall.test.fragments.goalsoverview.GoalsOverviewFragmentTests.setUp(GoalsOverviewFragmentTests.java:24)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
我代码:测试类:
公共类GoalsOverviewFragmentTests扩展ActivityInstrumentationTestCase2 {private TestingFragmentActivity活动;
public GoalsOverviewFragmentTests(){
super(TestingFragmentActivity.class);
}
@Override
protected void setUp() throws Exception{
super.setUp();
activity = getActivity();
}
// Testing methods here
}
Android Manifest(常规项目):
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xilconic.achieveitall"
android:versionCode="1"
android:versionName="0.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.xilconic.achieveitall.GoalTargetsActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.xilconic.achieveitall.util.activities.TestingFragmentActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
</application>
</manifest>
Android Manifest (Test project):
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xilconic.achieveitall.test"
android:versionCode="1"
android:versionName="0.0" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19"/>
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.xilconic.achieveitall" />
<application
android:allowBackup="false"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<uses-library android:name="android.test.runner" />
</application>
</manifest>
解决方案:删除bin和gen文件夹,然后刷新eclipse项目。
我遇到的问题是,我的bin和gen文件夹的内容不同步了。
注意:
你遇到这个问题的另一个症状是你遇到了没有意义的问题或警告。
在我的特殊情况下,我有一个奇怪的警告,我在另一台机器上修复并提交了它,但最后在这台特定的机器上再次看到它,即使问题不再在我的代码中找到