закрыть приложение после изменения targetSDK на 29 в android студии - PullRequest
0 голосов
/ 06 августа 2020
compileSdkVersion 29
defaultConfig {
    ...
    targetSdkVersion 29
    ...
}

Согласно Play Console, новое приложение будет изменено на SDK 29 с августа и не может быть загружено, если не обновлено с ноября. Приложение завершилось ненормально после изменения целевого SDK на 29. Журнал:

W / ab c .def: доступ к скрытому полю Landroid / view / LayoutInflater; -> mConstructorArgs: [Ljava / lang / Object; (greylist-max-p, отражение, отказано)

D / AndroidRuntime: Завершение работы ВМ

E / Android Время выполнения: FATAL EXCEPTION: основной процесс: net .ab c .def , PID: 28318 java .lang.RuntimeException: невозможно запустить действие ComponentInfo {net .ab c .def /net .ab c .def.ui.SplashActivity}: android .view.InflateException : Двоичный XML строка файла # 17 в net .ab c .def: layout / abc_screen_simple: двоичный XML строка файла # 17 в net .ab c .def: layout / abc_screen_simple: ошибка inflating class android .support.v7.widget.FitWindowsLinearLayout

Я предполагаю, что это потому, что я использую не-SDK интерфейс. Потому что Google объясняет следующее:

Landroid/view/LayoutInflater;->mConstructorArgs:[Ljava/lang/Object;   

# Нет альтернативы publi c. Разработчики никогда не должны обращаться к этому полю напрямую.

Произошло ли ненормальное завершение работы из-за интерфейса, отличного от SDK? Так как же решить эту проблему? В моем коде используется много LayoutInflater.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...