Я хочу опубликовать несколько apks: один для мобильных и других androidtv в одном приложении. Согласно Publishing Multiple APKs with Different Filters есть только четыре отличительные фильтры в пределах одного приложения:Публикация нескольких apks с различными фильтрами для мобильных устройств и телевидения
В настоящее время Google Play позволяет публиковать несколько файлов APK для же приложения только тогда, когда каждый APK предоставляет различные фильтры, основанные на следующих конфигурациях:
-
OpenGL текстуры форматы сжатия
-
Размер экрана (и, возможно, плотность экрана)
-
уровень API-
-
процессора Архитектура (ABI)
Все остальные фильтры по-прежнему работают так же, как обычно, но эти четыре являются фильтрами , которые могут отличать один APK от другого в том же списке приложений в Google Play. Например, вы не можете публиковать несколько APK для одного и того же приложения, если APK отличаются только от от того, есть ли у устройства камера.
я подумал, чтобы отличить по уровням API и размера экрана, но там, кажется, перекрытие:
уровня (API MinSDK) для androidtv приложение поддерживается на уровне 21 и для мобильных приложений на 16. Таким образом, существует перекрытие уровней API (21 и выше).
Размер экрана для Android-телефона может совпадать с размером экрана планшета: Для примера. common high-definition TV display resolutions - 720p, 1080i и 1080p. Также Samsung nexus разрешение 720x1280.
Я боюсь, если я публикую androidtv APK с более высокой версией, он может заменить мобильное приложение на планшете с уровнем API> = 21 и размером 720x1280 экрана, также квалифицируется по размеру телевизора макета приложения.
Итак, как я могу четко различать эти два apks, используя различные фильтры в манифесте приложения?
ОБНОВЛЕНИЕ
Я уже добавили Leanback функцию в androidtv приложения манифеста
<manifest>
<uses-feature android:name="android.software.leanback"
android:required="true" />
...
</manifest>
Я вижу 42 поддерживаемые устройства для androidtv APK (не могут видеть, какие устройства) и 10791 для мобильного устройства APK и всего 10832 устройств, поддерживаемых для всего приложения.
10791 + 42 = 10833
Таким образом, есть еще возможность 1 (10833 - 10832 = 1) перекрывающихся устройство из-за которого отображается предупреждение.
предупреждение перекрытия
androidtv APK
мобильный APK
всего устройства
Я не думаю, перекрывая сообщение из-за androidtv APK будучи супер-набор мобильных APK, как указано в одном из комментариев, глядя на количестве поддерживаемых устройств для androidtv, которые значительно Меньше.
Поскольку есть только одно возможное перекрывающееся устройство, я опубликую его, но мне хотелось бы знать, какие устройства перекрываются, чтобы получать оба apks.
Я добавил функцию отказа в манифест, но вижу предупреждение о перекрытии устройств в консоли. Точное сообщение: «Некоторые устройства имеют право запускать несколько APK. В таком случае устройство получит APK с более высоким кодом версии». – random
Это правильно, но в основном это сообщение говорит о том, что ваш Android TV APK - это супер-набор вашего мобильного APK, но игровой магазин по-прежнему достаточно умен, чтобы узнать, что ваш Android APK APK более конкретный. Вы должны установить обязательный = true на ТВ APK. См. Раздел [rules for multiple apks] (https://developer.android.com/google/play/publishing/multiple-apks.html) для точных правил. В этом документе рекомендуется всегда публиковать ваш APK Android TV с более высоким кодом версии, чтобы гарантировать, что если телевизор будет плохой, он ВСЕГДА будет выбирать APK без поддержки. –
это означает, что мне придется публиковать androidtv apk с инкрементированным кодом версии каждый раз, когда я публикую мобильное приложение apk, даже если у меня нет никаких изменений в коде androidtv? Получат ли пользователи уведомление об обновлении для androidtv в этом случае? – random