Android Studio - откуда берется номер targetdk?
У меня есть проект, который имеет следующие целевые конфигурации в файле Gradle:
compileSdkVersion 'Google Inc.:Google APIs:23'
buildToolsVersion '21.1.2'
defaultConfig {
applicationId "com.claro.pe.miclaro"
minSdkVersion 11
targetSdkVersion 23
multiDexEnabled true
}
Android-манифест, событие, которое предположительно игнорируется gradle, также имеет цель sdk 23:
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="23" />
Однако, когда я создаю APK и проверяю его с помощью appt, результат будет следующим:
A: android:minSdkVersion(0x0101020c)=(type 0x10)0xb
A: android:targetSdkVersion(0x01010270)=(type 0x10)0x17
Значит, что целевая версия установлена на 17.
У меня есть другие библиотеки в качестве зависимостей, но у некоторых есть targetdk=4, поэтому я не думаю, что он получает более низкую.
Тем не менее, compileSDK находится на самом низком уровне 17, но изменение этого значения в библиотеках приводит к некоторым ошибкам, поскольку часть кода устарела.
Прежде чем я решу это изменить, я делаю что-то неправильно или почему apk моего проекта не принимает указанный targetSdk?
1 ответ
0x17
является шестнадцатеричным числом из-за ведущих 0x
, В десятичной записи это 23. Я предлагаю прочитать эту статью в Википедии, чтобы получить обзор шестнадцатеричных чисел.