Я знаю, что эта тема уже обсуждалась, но немного по-разному:Вы должны использовать тему Theme.AppCompat -> в блоке Test
- App работает отлично
- Ошибка отображается только в модульное тестирование
- тема является Fine (новый созданный проект образца)
Как воспроизвести:
- Создать только новый проект -> FullScreenActivity Android 4.3
- Создать модульный тест
Выполнить это
public class FullscreenActivityTest extends ActivityUnitTestCase<FullscreenActivity> { public FullscreenActivityTest() { super(FullscreenActivity.class); } public void testStart() { startActivity(new Intent(getInstrumentation() .getTargetContext(), FullscreenActivity.class), null, null); Assert.assertNotNull(getActivity()); }
}
Испытано с:
- Nexus 5 Emulator
- Nexus 6P Emulator
Каждый раз, когда то же самое, приложение работает отлично. Юнит-тестирование завершается с:
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplBase.onCreate(AppCompatDelegateImplBase.java:124)
at android.support.v7.app.AppCompatDelegateImplV7.onCreate(AppCompatDelegateImplV7.java:146)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:59)
at com.sample.foobar.FullscreenActivity.onCreate(FullscreenActivity.java:88)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.test.ActivityUnitTestCase.startActivity(ActivityUnitTestCase.java:163)
Спасибо,
Пол
Протестировано теперь также с HTC One (5.0.x). Я могу запускать и использовать Activity, но не тестировать его. – Paul