Каков правильный размер экрана и плотность конфигурации Nexus 6?
Мое приложение не отображает Nexus 6 как поддерживаемое устройство в консоли Google Play.
Я прочитал пост в блоге Подготовка ваших приложений для Nexus 6 и Nexus 9, в котором говорится:
Nexus 6 имеет квантованную плотность 560 точек на дюйм, которая находится между сегментами первичной плотности xxhdpi и xxxhdpi.
Есть параграф о моей проблеме:
Убедитесь, что вы не отфильтрованы в Google Play
Если вы используете элемент в файле AndroidManifest.xml, вам следует прекратить его использование, потому что невозможно перекомпилировать и публиковать приложение каждый раз, когда появляются новые устройства. Однако, если вам нужно его использовать, обязательно обновите манифест, чтобы добавить конфигурацию для этих устройств (по размеру экрана и плотности). В противном случае ваше приложение может быть исключено из результатов поиска Google Play на этих устройствах.
Ну, я должен использовать <compatible-screens>
потому что я пытаюсь исключить мое приложение из планшетов.
Мой текущий <compatible-screens>
Элемент в манифесте выглядит так:
<compatible-screens>
<!-- small size screens -->
<screen
android:screenDensity="ldpi"
android:screenSize="small" />
<screen
android:screenDensity="mdpi"
android:screenSize="small" />
<screen
android:screenDensity="hdpi"
android:screenSize="small" />
<screen
android:screenDensity="xhdpi"
android:screenSize="small" />
<screen
android:screenDensity="480"
android:screenSize="small" />
<!-- normal size screens -->
<screen
android:screenDensity="ldpi"
android:screenSize="normal" />
<screen
android:screenDensity="mdpi"
android:screenSize="normal" />
<screen
android:screenDensity="hdpi"
android:screenSize="normal" />
<screen
android:screenDensity="xhdpi"
android:screenSize="normal" />
<screen
android:screenDensity="480"
android:screenSize="normal" />
<screen
android:screenDensity="640"
android:screenSize="normal" />
</compatible-screens>
Какова правильная конфигурация для Nexus 6?
Я пытался:
<screen
android:screenDensity="560"
android:screenSize="normal" />
<screen
android:screenDensity="480"
android:screenSize="large" />
<screen
android:screenDensity="560"
android:screenSize="large" />
<screen
android:screenDensity="640"
android:screenSize="large" />
Но, похоже, ничего из этого не получилось.
1 ответ
Я обратился в службу поддержки Google Play и получил ответ, который помог мне решить проблему.
Все еще не уверен на 100% в правильной конфигурации экрана, но, похоже,
<screen
android:screenDensity="560"
android:screenSize="normal" />
это правильный вариант.
Однако мое приложение не было совместимо с Nexus 6 из-за конфликта в манифесте моего приложения. Я использовал следующие требования к функциям:
<uses-feature android:name="android.hardware.LOCATION" />
<uses-feature android:name="android.hardware.TELEPHONY" />
<uses-feature android:name="android.hardware.TOUCHSCREEN" />
<uses-feature android:name="android.hardware.WIFI" />
<uses-feature android:name="android.hardware.location.GPS" />
<uses-feature android:name="android.hardware.location.NETWORK" />
<uses-feature android:name="android.hardware.screen.PORTRAIT" />
Но правильная версия с функциями, перечисленными строчными буквами:
<uses-feature android:name="android.hardware.location" />
<uses-feature android:name="android.hardware.telephony" />
<uses-feature android:name="android.hardware.touchscreen" />
<uses-feature android:name="android.hardware.wifi" />
<uses-feature android:name="android.hardware.location.gps" />
<uses-feature android:name="android.hardware.location.network" />
<uses-feature android:name="android.hardware.screen.portrait" />
Это немного сложнее, потому что разрешения (в <uses-permission>
) лайк
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
должны быть указаны заглавными буквами, но особенность (в <uses-feature>
) должен быть в нижнем регистре.
Я не сталкивался с той же проблемой на любом другом устройстве, но если Nexus 6 требует этого, это, вероятно, правильный способ сделать это.