Тест эспрессо на Android P Preview: обнаружены проблемы с ошибкой совместимости API
Я использую Espresso для тестирования инструментов и запускаю их на Android Preview P Emulator. У меня есть 5 тестовых случаев в моем классе тестов, из которых один тест не пройден при запуске набора тестов и получении ошибки ниже.
Обнаружены проблемы с совместимостью API
Принимая во внимание, что неудачный тестовый пример проходит, когда выполняется индивидуально, а не в комплекте
Так как диалоговое окно отображается в представлении, которое говорит Detected problems with API compatibility
, Я не получаю подходящего представления в исключении иерархии вместе с вышеупомянутой ошибкой.
1 ответ
Изменение targetSdkVersion на 28 (ранее было 27) заставило проблему исчезнуть. Я предполагаю, что в большинстве случаев это не будет правильным решением, но в моем случае это позволило продолжить мой проект.
Ссылки на документы: в Android P это диалоговое окно показывает
Обнаружены проблемы с совместимостью API
Почему этот диалог показывается?
Причина: ваш код попал в
темный грейлист
Что такое темный грейлист лист? Такие API, которые не разрешается вызывать другими приложениями, в моем случае я использовал метод startSoftAp, который был темно-серый в списке. Удаление этого вызова исчезло в диалоге.
Как вы найдете?
В вашем logcat -> verbose -> Search("Доступ к скрытому")
LOGCAT RESULT
Доступ к скрытому методу:Landroid/net/wifi/WifiManager:startSoftAp(Landroid/net/wifi/WifiConfiguration;)Z (темный серый список, отражение)