#java #android #android-studio #google-play #google-play-games
#java #Android #android-studio #google-play #google-play-игры
Вопрос:
Недавно я опубликовал приложение, над которым работал, для практики (https://play.google.com/store/apps/details?id=ali.ColorMatch2 ) и я попросил своего друга протестировать это для меня на его Nexus 5 под управлением Android 6.0.1. Я также использовал Nexus 5 для запуска apk, когда разрабатывал приложение. По какой-то причине он получил сообщение о том, что «Это устройство несовместимо»
Это чрезвычайно простое приложение, которое не использует никаких функций, которые должны ограничивать совместимость. Единственное, что мне приходится ограничивать совместимость, — это небольшой фрагмент кода, объявляющий его совместимым только с телефонами, но я скопировал его напрямую сhttps://developer.android.com/guide/practices/screens-distribution.html .
Вот мой манифест:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.ali.ColorMatch2">
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
</compatible-screens>
...
</manifest>
Обновление Google Play занимает несколько часов после загрузки другого apk, поэтому мне сложно опробовать материал и посмотреть, работает ли он. Я просмотрел другие случаи, когда были опубликованы похожие вопросы, и эти решения не сработали. Мой apk-файл не имеет даже 2 МБ, поэтому я знаю, что это не потому, что он слишком большой, и он использует только две функции — android.hardware.FAKETOUCH и android.hardware.screen.ПОРТРЕТ
Вот консоль разработчика Google Play, запущенная в моем apk:http://imgur.com/a/st0Aj
Спасибо
* РЕДАКТИРОВАТЬ *
После добавления определений xxhdpi:
<screen android:screenSize="small" android:screenDensity="xxhdpi" />
<screen android:screenSize="normal" android:screenDensity="xxhdpi" />
в compatible-screens
разделе я теперь получаю предупреждение в Play Store о том, что мое приложение предназначено для планшетов, а я этого не хочу, должен ли я беспокоиться об этом?
Ответ №1:
В вашем списке нет поддерживаемых экранов с разрешением xxhdpi, поэтому я предполагаю, что каким-то образом конфигурации экрана на этих двух телефонах отличаются. Либо удалите раздел, либо добавьте определения для экранов с разрешением xxhdpi и большего размера:
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<screen android:screenSize="small" android:screenDensity="xxhdpi" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
<screen android:screenSize="normal" android:screenDensity="xxhdpi" />
<!-- all large size screens -->
<screen android:screenSize="large" android:screenDensity="ldpi" />
<screen android:screenSize="large" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="large" android:screenDensity="xhdpi" />
<screen android:screenSize="large" android:screenDensity="xxhdpi" />
</compatible-screens>
Смотрите здесь для получения более подробной информации.
Я думаю, предупреждение ожидаемо, поскольку вы определяете совместимость для больших экранов и точек на дюйм.
Комментарии:
1. Мне нужно сохранить это, чтобы убедиться, что оно не загружается на планшеты. Я только что просмотрел это, и Nexus 5 имеет плотность экрана 445 ppi, а xxhdpi равен 480 ppi, так что вы можете быть правы. Я добавлю определения для xxhdpi, спасибо
2. Рад, что смог помочь. Пожалуйста, найдите время внести свой вклад и проголосуйте / отметьте мой ответ, если он был полезен для вашего вопроса.
3. Эй, итак, я очень поспешно внес изменения и повторно загрузил свой apk, и теперь Google сообщает мне, что мое приложение предназначено для планшетов? Что? imgur.com/a/FqtrA
4. Выполнено. Кроме того, в Play Store по-прежнему сообщается, что мой новый apk-файл, содержащий определения для экранов с разрешением xxhdpi, несовместим с Nexus 5 и Galaxy S6.