Я пытался изменить его в структуре проекта в модуле приложения, но это не сработало. Ничего не изменилось в файле Gradle. Мой следующий вариант - увеличить его, отредактировав сам файл Gradle и увеличив его до уровня API 28.
Изменение его в структуре проекта не сделает для вас никакой магии, вы все равноЯ должен следовать тому же процессу, что и вы, изменив файл Gradle.
Я, однако, боюсь влияния, которое это может оказать на другие библиотеки
Сохранить 3-йПартийные библиотеки также актуальны, использование более новых версий библиотек в старых sdks, скорее всего, вызовет проблемы, так как более новые Android SDK имеют изменения в поведении.
Вот несколько личных советов по миграции, не отвлекаясь на то, что можетперерыв:
1. Увеличивайте целевой API каждый раз на 1, а затем полностью проверяйте его
Например, обновитесь до API 27 с 26, протестируйте егоа затем обновить его до 28 и так далее. Причина этого заключается в том, чтобы сузить и учесть изменения поведения в каждом API, начиная с предыдущего целевого API. Мало того, что это будет менее подавляющим, было бы легче найти решения проблем, которые могут возникнуть впоследствии. Если вы перейдете на 29 из 26 напрямую, выявить проблему будет очень сложно.
2. Прочитайте руководства по миграции для каждого Android SDK
Этистраницы действительно помогли определить устаревшие классы / функции, используемые даже сторонними библиотеками:
Руководство по миграции на Android 8.0
Руководство по миграции на Android 9.0
3. Если после обновления возникла проблема в сторонней библиотеке, скорее всего, на странице Github Issues. Если его там нет, создайте новую проблему (следуя указанным там инструкциям) . Нет лучшего места для получения конкретных ответов библиотеки, чем на сайте репозитория, где сами разработчики могут дать вам хорошие предложения.
4. Прочитайте журнал изменений, начиная с предыдущей версии библиотек, в которых возникли проблемы.
Некоторые библиотеки имеют устаревшую документацию, и более новые версии могут вызывать проблемы. Например, когда я переносил Dagger, некоторые классы были устаревшими в более новых версиях, но не были задокументированы, и я узнал об этом только после прочтения журнала изменений.