Nano Hash - криптовалюты, майнинг, программирование

Что я должен установить для compileSdkVersion, minSdkVersion и targetSdkVersion?

Я беспокоюсь о том, какими должны быть compileSdkVersion, minSdkVersion и targetSdkVersion.

  1. Прежде всего, меня беспокоит то, что если я установлю compileSdkVersion равным 23, что является последним на данный момент, сможет ли старое устройство запустить его?

  2. Как мне точно узнать, каким должен быть мой minSdkVersion, чтобы убедиться, что телефон с более низким API или версией не сможет получить к нему доступ (я не хочу устанавливать слишком высокий минимальный SDK, потому что это заблокирует телефон, который потенциально может запустить приложение)?

  3. Как мне установить targetSdkVersion?


Ответы:


1

Я установил для compileSdkVersion значение 23, которое является последним на данный момент, сможет ли старое устройство запустить его?

Да. compileSdkVersion сам по себе не имеет ничего общего с тем, какие устройства могут и не могут запускать ваше приложение. Обычно вы устанавливаете последнюю версию Android SDK.

Как мне точно узнать, каким должен быть мой minSdkVersion, чтобы убедиться, что телефон с более низким API или версией не сможет получить к нему доступ?

Часто средства разработки предупреждают вас на лету, когда вы пытаетесь использовать что-то более новое, чем ваш minSdkVersion. Вы можете запустить полную проверку Lint для периодического подтверждения.

Как мне установить targetSdk?

При отсутствии какой-либо особой причины для выбора чего-то другого я обычно выбираю последнее или предпоследнее значение на момент создания проекта (например, 22 или 23 сейчас). targetSdkVersion помогает с обратной совместимостью, и обычно мое описание звучит так: «это версия Android, о которой вы думали, когда писали код».

26.11.2015
  • Спасибо за краткий ответ, но у меня только один последний вопрос, как я могу запустить полную проверку Lint? Какую кнопку мне нажать? 27.11.2015
  • @Wowzer: Если вы используете Android Studio, проверки Lint выполняются как часть Анализа › Проверка кода. 27.11.2015

  • 2

    Google только что опубликовал подробную статью об этом. Короче говоря:

    compileSdkVersion – это способ сообщить Gradle, с какой версией Android SDK следует компилировать ваше приложение. Использование нового Android SDK является обязательным требованием для использования любых новых API, добавленных на этом уровне. Следует подчеркнуть, что изменение compileSdkVersion не меняет поведения во время выполнения. Хотя при изменении compileSdkVersion могут появляться новые предупреждения/ошибки компилятора, ваш compileSdkVersion не включается в ваш APK: он используется исключительно во время компиляции.

    Если compileSdkVersion устанавливает новейшие доступные вам API, minSdkVersion является нижней границей для вашего приложения. MinSdkVersion — это один из сигналов, который Google Play Store использует для определения того, на каком из устройств пользователя можно установить приложение. Это также играет важную роль во время разработки: по умолчанию lint запускается для вашего проекта, предупреждая вас, когда вы используете какие-либо API выше вашей minSdkVersion, помогая вам избежать проблемы во время выполнения, связанной с попыткой вызвать несуществующий API. Проверка версии системы во время выполнения является распространенным методом при использовании API только на более новых версиях платформы.

    Однако наиболее интересным из трех является targetSdkVersion. targetSdkVersion — это основной способ, с помощью которого Android обеспечивает прямую совместимость, не применяя изменения поведения, если не будет обновлено targetSdkVersion. Это позволяет вам использовать новые API (поскольку вы обновили свой compileSdkVersion, верно?) до того, как проработаете изменения поведения.

    07.01.2016
  • В заключение из статьи: minSdkVersion ‹= targetSdkVersion ‹= compileSdkVersion Но лучший способ сделать это: minSdkVersion (самый низкий из возможных) ‹= targetSdkVersion == compileSdkVersion (последний SDK)< /б> 25.01.2018

  • 3

    Ваши CompileSDKVersion и TargetSDKVersion должны совпадать:

    android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"
    
    defaultConfig {
        applicationId "com.judeochalifu.dribsndrabs"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    

    Если вы не знаете, какой номер версии использовать, перейдите к Android SDK Manager, найдите используемый вами уровень API (который всегда должен быть последним), и там вы найдете версию для использования (Android 7 (API 24) на момент пишу).

    введите здесь описание изображения

    Что касается minSDKVersion, лучше всего проверить, какой из них использовать, — это перейти в окно Create New Project (Android Studio здесь), Google поможет вам выбрать лучший вариант для использования в данный момент:

    введите здесь описание изображения

    08.09.2016

    4

    minSdkVersion: это минимальный уровень API, необходимый вашему приложению для запуска приложения (т. е. если вы установите уровень API 16 (Jelly Bean), ваше приложение не сможет работать на уровне API 15 (IceCreamSandwitch). ). На самом деле Google Play не покажет ваше приложение на телефоне, работающем на уровне API ниже вашего уровня API minSdkVersion. Использование API уровня 15 (IceCreamSandwitch) охватывает более 90% телефонов Android.

    targetSdkVersion: уровень API, для которого вы разрабатываете свое приложение. Рекомендуется использовать последнюю версию (в настоящее время 26 - O)

    compileSdkVersion: уровень API, на котором вы хотите скомпилировать свое приложение (если вы используете функции уровня API 26, вам нужно использовать 26, более низкая версия выдаст вам ошибку). Android поддерживает обратную совместимость (т. е. приложение, скомпилированное на 23, также может работать на телефоне с уровнем API 22 или ниже). Так что ответ на ваш первый вопрос - ДА. Рекомендуется использовать последнюю версию (в настоящее время 26 - O)

    26.11.2015
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..


    © 2024 nano-hash.ru, Nano Hash - криптовалюты, майнинг, программирование