Как мне сделать понижение минимальной версии SDK?

Я работаю над приложением Anrdoid. Это почти закончено. Я только что заметил, что minSdkVersion установлен на 21. Может быть, я забыл, когда создавал проект. Я хотел бы снизить его, потому что пользователи приложения, вероятно, будут иметь более старые устройства.

Я не думаю, что это хорошая идея, чтобы изменить minSdkVersion до ~10, откиньтесь на спинку кресла и надейтесь, что в будущем все будет хорошо и скомпилировано

Моя идея состояла в том, чтобы я мог проверить все методы, используемые в проекте, их минимальный уровень API, чтобы я мог знать, что я должен заменить альтернативами. Тем не менее, проект немного велик. Поиск документации по всем методам один за другим займет много времени.

Можно ли автоматически перечислить конкретные методы Android API, используемые в моем проекте, и их уровень API? Или как-то определить самый высокий уровень API, который требуется для используемого метода? Android Studio знает эти цифры, она также может получить документацию. Или это безопасно изменить minSdkVersion а также targetSdkVersion до более низкого уровня API, чтобы узнать, какие методы не поддерживаются на старом устройстве, и после того, как я исправлю все ошибки / предупреждения, IDE покажет мне, будет ли мое приложение работать нормально?

1 ответ

Решение

Android Studio выдаст вам предупреждения, когда вы используете методы, которые требуют более высокой версии SDK, чем указано minSdkVersion, Вы можете получить доступ ко всему списку этих предупреждений для всего проекта, используя функциональность Analyze -> Code Cleanup. Итак, что вы можете сделать:

  1. Опустить minSdkVersion,
  2. Нажмите "Анализ" -> "Очистка кода" в Android Studio. Выберите "Весь проект"
  3. Соответствующие ошибки являются частью этих разделов:
    • Android Lint: Correctness -> Атрибут не используется в старых версиях
    • Android Lint: Correctness -> Вызов новых методов на старых версиях
    • Android Lint: Correctness -> использование встроенных констант в старых версиях
    • Android Lint: Интернационализация -> Проблемы совместимости текста справа налево

Пробуя разные номера версий, вы можете увидеть, сколько изменений необходимо сделать. Решать правильно minSdkVersionВы можете рассмотреть статистику устройства на уровне API Android.

Таким образом, стратегия принятия решения о targetSdkVersion или же minSdkVersion как правило, выглядит так: вы устанавливаете targetSdkVersion на самый большой номер версии, с которой вы тестировали свое приложение. minSdkVersion следует установить более низкое значение - достаточно низкое, чтобы поддерживалось достаточное количество устройств, но достаточно высокое, чтобы не требовалось много обходных путей для конкретных версий. Найти подробности об этих двух значениях в документации Android.

Другие вопросы по тегам