Как я могу убедиться, что мое приложение не может быть установлено на Зефир
В файле сборки Android Gradle у меня есть следующее закрытие:
android {
compileSdkVersion 21
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.mycoolapp"
minSdkVersion 16
targetSdkVersion 21
versionCode 41
versionName "3.0"
}
}
Я не хочу, чтобы мое приложение работало на Зефире. Мой targetSdkVersion - 21, а Marmallow - 23. Итак, представьте, что у меня есть телефон Marshmallow. Если я пойду в магазин Play, появится ли мое приложение в списке?
Мой второй вопрос: как мне остановить отображение моего приложения в магазине Google Play для устройств с зефиром?
3 ответа
Отвечая не на оригинальный вопрос, а на причины этого.
Я не уверен, что вы должны это сделать.
API 23 запрашивает разрешения во время выполнения. так что, если у меня устройство работает под управлением 23, и поскольку Android обратно совместим, что произойдет, например, если я использую apache httpClient, который удален из зефира
Вы все еще можете использовать HTTP-клиент. Из документов:
Чтобы продолжить использовать API-интерфейсы Apache HTTP, вы должны сначала объявить следующую зависимость времени компиляции в файле build.gradle:
android { useLibrary 'org.apache.http.legacy' }
Я пытался установить мои старые приложения, которые используют HTTP Client на Android 6.0. Они по-прежнему работают, без зависимости в build.gradle и даже без перекомпиляции.
или если я не готов обрабатывать разрешения во время выполнения? не сломается ли мое приложение в этом случае?
Приложение не сломается. Если вы не компилируете свое приложение под Marshmallow (targetSdkVersion 23
или выше), тогда он будет работать в "унаследованном" режиме: разрешения будут запрошены перед установкой. За одним исключением: пользователи по-прежнему могут отключать разрешения в настройках; Я не думаю, что многие пользователи делают это.
Попробуйте свое приложение в эмуляторе или на реальном устройстве. Я почти уверен, что он будет работать под маршмеллоу.
Итак, представьте, что у меня есть телефон Marshmallow. Если я пойду в магазин Play, появится ли мое приложение в списке?
Да.
Как мне остановить отображение моего приложения в магазине Google Play для устройств с зефиром?
Вы можете попробовать android:maxSdkVersion
в <uses-sdk>
элемент вашего манифеста, поскольку текущая документация предполагает, что Play Store использует его в качестве фильтра, хотя это обходится пользователям, которые получают обновления своего приложения до Android 6.0.
Может быть, я думаю, что это описано в модели разрешения времени выполнения приложения будет работать, если мы нацелены на API для 23
Примечание. В этом уроке описывается, как реализовывать запросы разрешений в приложениях, ориентированных на уровень API 23 или выше и работающих на устройстве под управлением Android 6.0 (уровень API 23) или выше. Если для устройства или targetSdkVersion приложения установлено значение 22 или ниже, система предлагает пользователю предоставить все опасные разрешения при установке или обновлении приложения.
ссылка: https://developer.android.com/intl/es/training/permissions/requesting.html
может быть, если у меня возникло недоразумение, пожалуйста, сообщите мне