Android-устройство использует ресурсы из разных наборов плотности в отладочной и подписанной APK

Я заметил, что мое приложение показывает немного другую компоновку на одном устройстве в зависимости от того, использую ли я отладочный APK или подписанный релиз APK. После долгих царапин я выделил проблему для значений удельного ресурса устройства. Устройство использует измерения из values-xxhdpi / dimensions.xml, когда я запускаю приложение в режиме отладки, и использует измерения из значений-xxxhdpi/dimensions.xml, когда я запускаю подписанный APK. Рассматриваемое устройство - Samsung Galaxy S7 под управлением Android 7.0

Просто чтобы подтвердить это, я создал новый пустой проект, в котором есть только строка приветствия. Я определил различные значения для строки в values ​​/strings.xml, values-xxhdpi/strings.xml и values-xxxhdpi/strings.xml. Вот результаты.

  • Debug apk показывает строку xxhdpi. Работает как положено.
  • Запуск релиза apk из android studio (указав конфигурацию подписи в файле gradle) показывает строку xxhdpi. Работает как положено.
  • Создайте подписанный apk, выбрав Build | Создайте подписанный APK и запустите его. На этот раз приложение показывает строку xxxhdpi. Зачем?!

Почему это происходит? Почему Android выбирает ресурсы xxhdpi в режиме отладки и ресурсы xxxhdpi в подписанном APK?

0 ответов

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