2016-09-04 4 views
0

Я разработал приложение для Android, имеющее API 21 в качестве целевой версии SDK.Могу ли я запустить приложение на API 23, если целевая версия SDK, которую я использовал, - 21

Будет ли он работать над API над ним, например API 23?

+0

Я думаю, что вы хороши до тех пор, пока не определили 21 в 'maxSdkVersion' – Yazan

ответ

0

Согласно Uses SDK

андроид: targetSdkVersion

Целое число, обозначающее уровень API, что мишеней приложений. Если значение не установлено, значение по умолчанию равно - minSdkVersion. Этот атрибут информирует систему о том, что у вас есть , протестированный против целевой версии, и система не должна активировать поведение совместимости для поддержки совместимости вашего приложения с прямой совместимостью с целевой версией. Приложение все еще может работать на более старых версиях (вплоть до minSdkVersion).

Это также может помочь вам знать это

андроида: minSdkVersion

целое число, обозначающее минимальный уровень API, необходимый для запускаемого приложения. Система Android предотвратит установку пользователем приложения , если уровень API системы ниже значения , указанного в этом атрибуте. Вы всегда должны объявлять этот атрибут .

0

Ваш minSdkVersion, безусловно, находится ниже API 21. Таким образом, ваше приложение работает над версиями SDK (включая API 23).

Вы хорошо с этим, не беспокойтесь :)

PS: Проверить эту ссылку targetSDKVersion, чтобы узнать больше о целевом использовании SDK цели.

+0

. Тогда что такое целевой SDK?Пожалуйста, объясните – Abhishek

+0

Я только что отредактировал свой ответ, проверьте ссылку, и если это не ясно, я объясню вам больше :) –

0

Совершенно нормально использовать targetSdkVersion и установить его на устройстве с более высокой версией SDK.

TargetSdkVersion, который вы указали в своем build.gradle, сообщает системе, что вы разработали и протестировали приложение для работы с этим SDK. Если пользователь устанавливает ваше приложение на более высоком SDK, то ответственность за обеспечение обратной совместимости (если что-либо изменилось) является ответственностью системы.

Хорошим примером является то, что произошло с разрешениями на SDK 23. С этой версии необходимо явно запросить опасные разрешения в коде, просто объявить разрешение в манифесте уже недостаточно.

Однако, если вы нацеливаете это приложение на SDK22, не требуется явно запрашивать код, и если вы установите это приложение на более высокую систему SDK, оно будет работать из-за обратной совместимости, которая в этом случае должен принимать все разрешения во время установки.