#android #google-play #android-manifest #compatibility #samsung-galaxy
#Android #google-play #android-манифест #совместимость #samsung-galaxy
Вопрос:
Мы выпустили приложение для Android, однако приложение поддерживает только около 10 976 из 12 560 устройств в каталоге.
Некоторые из них являются более старыми устройствами, для которых значение minSdkVersion меньше 15. Однако есть некоторые более новые и более популярные неподдерживаемые устройства, такие как Samsung Galaxy S10, хотя я физически тестировал S10 в отладчике Android Studio, и сборка выполнялась правильно.
Более заметными примерами неподдерживаемых устройств являются все устройства Google Pixel, Galaxy S8 , S9 и S10 . Аналогичные поддерживаемые устройства включают обычные S8, S9 и S10e.
Несколько месяцев назад я увеличил количество поддерживаемых устройств с 9 674 до почти, добавив макеты xxxhdpi и sw480dp и поддержку в манифесте. Ниже приведены мои текущие сведения о манифесте и градации:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
/>
<compatible-screens>
<screen
android:screenDensity="ldpi"
android:screenSize="normal" />
... // also layouts mdpi, hdpi, xhdpi, xxhdpi
<screen
android:screenDensity="xxxhdpi"
android:screenSize="normal" />
<screen
android:screenDensity="ldpi"
android:screenSize="large" />
... // also layouts mdpi, hdpi, xhdpi, xxhdpi
<screen
android:screenDensity="xxxhdpi"
android:screenSize="large" />
<screen
android:screenDensity="ldpi"
android:screenSize="xlarge" />
... // also layouts mdpi, hdpi, xhdpi, xxhdpi
<screen
android:screenDensity="xxxhdpi"
android:screenSize="xlarge" />
</compatible-screens>
//Gradle
compileSdkVersion 27
defaultConfig {
minSdkVersion 15
targetSdkVersion 27
...}
У меня также есть множество папок макетов разных размеров, в основном:
макет
макет -большой
макет — обычный
макет -sw320dp-hpdi / xhdpi / xxhdpi / xxxhdpi (большинство телефонов, похоже, находятся в этих 4 папках)
макет -sw480dp
макет -sw600dp
макет -sw720dp
Я мог бы добавить папки для каждой отдельной плотности для других размеров, но в Android Studio некоторые телефоны, которые не работают, перечислены как сопоставленные с некоторыми макетами выше. Похоже, что многие макеты, которые у меня уже есть, не используются, поэтому кажется неэффективным добавлять больше, не указывая, что они нужны.
Есть ли что-то еще, чего мне не хватает, например, изменение целевого sdk? Кто-нибудь знает, какие конкретные макеты потребуются для телефонов Pixel и телефонов Galaxy S , и должен ли я их поддерживать?
Комментарии:
1. Из любопытства, есть ли у вас какие-либо причины указывать
<supports-screens>
элемент? Если у вас нет причин ограничивать его, вы можете полностью удалить его и устранить как возможный источник ограничений устройства.2. Спасибо, я попробую это. Мы предположили, что это необходимо. Могу ли я также удалить элемент <совместимые экраны> или это необходимо?
3. Да, вам это не нужно.
Ответ №1:
Вам почти никогда не нужно использовать supports-screens
или compatible-screens
. На самом деле, документы для compatible-screens
say большими жирными красными буквами:
Внимание: Обычно вы не должны использовать этот элемент манифеста