Я разработал приложение для Android, имеющее API 21 в качестве целевой версии SDK.Могу ли я запустить приложение на API 23, если целевая версия SDK, которую я использовал, - 21
Будет ли он работать над API над ним, например API 23?
Я разработал приложение для Android, имеющее API 21 в качестве целевой версии SDK.Могу ли я запустить приложение на API 23, если целевая версия SDK, которую я использовал, - 21
Будет ли он работать над API над ним, например API 23?
Согласно Uses SDK
андроид: targetSdkVersion
Целое число, обозначающее уровень API, что мишеней приложений. Если значение не установлено, значение по умолчанию равно - minSdkVersion. Этот атрибут информирует систему о том, что у вас есть , протестированный против целевой версии, и система не должна активировать поведение совместимости для поддержки совместимости вашего приложения с прямой совместимостью с целевой версией. Приложение все еще может работать на более старых версиях (вплоть до minSdkVersion).
Это также может помочь вам знать это
андроида: minSdkVersion
целое число, обозначающее минимальный уровень API, необходимый для запускаемого приложения. Система Android предотвратит установку пользователем приложения , если уровень API системы ниже значения , указанного в этом атрибуте. Вы всегда должны объявлять этот атрибут .
Ваш minSdkVersion
, безусловно, находится ниже API 21
. Таким образом, ваше приложение работает над версиями SDK (включая API 23
).
Вы хорошо с этим, не беспокойтесь :)
PS: Проверить эту ссылку targetSDKVersion, чтобы узнать больше о целевом использовании SDK цели.
. Тогда что такое целевой SDK?Пожалуйста, объясните – Abhishek
Я только что отредактировал свой ответ, проверьте ссылку, и если это не ясно, я объясню вам больше :) –
Совершенно нормально использовать targetSdkVersion и установить его на устройстве с более высокой версией SDK.
TargetSdkVersion, который вы указали в своем build.gradle, сообщает системе, что вы разработали и протестировали приложение для работы с этим SDK. Если пользователь устанавливает ваше приложение на более высоком SDK, то ответственность за обеспечение обратной совместимости (если что-либо изменилось) является ответственностью системы.
Хорошим примером является то, что произошло с разрешениями на SDK 23. С этой версии необходимо явно запросить опасные разрешения в коде, просто объявить разрешение в манифесте уже недостаточно.
Однако, если вы нацеливаете это приложение на SDK22, не требуется явно запрашивать код, и если вы установите это приложение на более высокую систему SDK, оно будет работать из-за обратной совместимости, которая в этом случае должен принимать все разрешения во время установки.
Я думаю, что вы хороши до тех пор, пока не определили 21 в 'maxSdkVersion' – Yazan