Android - переопределение класса удалено из библиотеки поддержки (AsyncTaskCompat)
Во-первых, извинения, если я не включил всю необходимую информацию для ответа на этот вопрос. Я немного новичок в разработке для Android и все еще разбираюсь в инструментах сборки, уровнях API и т. Д. Поэтому, пожалуйста, дайте мне знать, если есть какая-то дополнительная информация, которую я должен предоставить, чтобы помочь вам помочь мне!
После обновления моего проекта Android скомпилировать версию SDK до 27, я понял, что версия 27.0.2
из com.android.support:support-v4
больше не включает AsyncTaskCompat
(этот класс устарел и удален).
У меня есть сторонняя библиотека, которая не является открытым исходным кодом, не легко заменяется, больше не поддерживается и все еще использует AsyncTaskCompat
,
поскольку AsyncTaskCompat
с открытым исходным кодом, я думал, что я мог бы просто как-то ввести его заново, переопределив его в моем проекте.
Я попытался переопределить его в рамках моего проекта в com.android.support.v4.os
но даже если проект компилируется без каких-либо проблем, при запуске раздела приложения, использующего стороннюю библиотеку, происходит сбой с ошибкой класса не найден для AsyncTaskCompat
,
Есть ли что-то очевидное, что я могу упустить?
2 ответа
Нет необходимости добавлять определенный модуль библиотеки Android.
Добавляйте нижеуказанные классы в свой проект, используя имя пакета "android.support.v4.os":
Отвечая на мой собственный вопрос здесь после очередного дня взлома.
Фактически возможно повторно реализовать эти устаревшие / удаленные классы таким образом, чтобы зависимость могла их использовать.
Шаги описаны здесь на случай, если кому-то понадобится это в будущем.
- Создайте новый модуль Android Library для вашего приложения
- Переопределите отсутствующие классы, используя соответствующее пространство имен
В моем случае мне нужно было переопределить android.support.v4.os.AsyncTaskCompat
который с открытым исходным кодом, так что все, что мне нужно было сделать, это скопировать код из исходного кода.
- Добавьте модуль в качестве зависимости вашего основного модуля приложения.