Я заметил, что мое приложение показывает немного другую компоновку на одном и том же устройстве в зависимости от того, использую ли я отладочный APK или подписанный релиз APK.После долгих царапин я выделил проблему для значений удельного ресурса устройства.Устройство использует измерения из v alues-xxhdpi / dimensions.xml , когда я запускаю приложение в режиме отладки, и использует измерения из values-xxxhdpi / измеренияs.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?