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. Я предлагаю прочитать эту статью в Википедии, чтобы получить обзор шестнадцатеричных чисел.

Другие вопросы по тегам