2016-09-26 10 views
6

Я хочу опубликовать несколько apks: один для мобильных и других androidtv в одном приложении. Согласно Publishing Multiple APKs with Different Filters есть только четыре отличительные фильтры в пределах одного приложения:Публикация нескольких apks с различными фильтрами для мобильных устройств и телевидения

В настоящее время Google Play позволяет публиковать несколько файлов APK для же приложения только тогда, когда каждый APK предоставляет различные фильтры, основанные на следующих конфигурациях:

  • OpenGL текстуры форматы сжатия

  • Размер экрана (и, возможно, плотность экрана)

  • уровень API-

  • процессора Архитектура (ABI)

Все остальные фильтры по-прежнему работают так же, как обычно, но эти четыре являются фильтрами , которые могут отличать один APK от другого в том же списке приложений в Google Play. Например, вы не можете публиковать несколько APK для одного и того же приложения, если APK отличаются только от от того, есть ли у устройства камера.

я подумал, чтобы отличить по уровням API и размера экрана, но там, кажется, перекрытие:

  1. уровня (API MinSDK) для androidtv приложение поддерживается на уровне 21 и для мобильных приложений на 16. Таким образом, существует перекрытие уровней API (21 и выше).

  2. Размер экрана для 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) перекрывающихся устройство из-за которого отображается предупреждение.

предупреждение перекрытия

enter image description here

androidtv APK

enter image description here

мобильный APK

enter image description here

всего устройства

enter image description here

Я не думаю, перекрывая сообщение из-за androidtv APK будучи супер-набор мобильных APK, как указано в одном из комментариев, глядя на количестве поддерживаемых устройств для androidtv, которые значительно Меньше.

Поскольку есть только одно возможное перекрывающееся устройство, я опубликую его, но мне хотелось бы знать, какие устройства перекрываются, чтобы получать оба apks.

ответ

4

На самом деле есть «функция», которая специально предназначена для Android TV. Вы можете просмотреть инструкции в docs. Но в основном вы просто должны указать, что он использует функцию leanback, как показано ниже.

<manifest> 
    <uses-feature android:name="android.software.leanback" 
     android:required="true" /> 
    ... 
</manifest> 

Это гарантирует, что любой телевизор устройство работает Leanback получите ваш APK (вы можете установить требуется = ложь, если вы используете один APK). Я считаю, что все официальные Android-телевизоры используют эту функцию. Возможно, notbackback может быть на не-tv-устройстве, но в этом случае все их приложения появятся в виде ТВ-приложений.

Есть еще несколько функций, которые вы можете отключить/включить для Android Android, вы можете просмотреть release checklist для получения дополнительной информации (в частности, this section).

Следует отметить, что есть некоторые перекрывающиеся устройства, которые могут удовлетворить как ваши мобильные, так и телевизионные APK. После разговора с репутацией на командах консоли Play, они рекомендовали способ получить вокруг него:

Относен мульти-APK сценарии, где у вас есть пересекающиеся устройства - да, ваш Android TV APK всегда должен иметь более высокий код версии.Существует несколько вариантов, которые могут помочь в решении этой проблемы:

  1. Вы можете вручную занести в черный список 2 перекрывающиеся устройства. Это немедленно устранит проблему с перекрывающимися APK, однако если новые устройства будут выпущены в будущем, которые будут иметь право на оба APK, вы снова столкнетесь с этой проблемой.

  2. Используйте схему кода версии для вашего Android TV APK, которая значительно выше, чем ваше мобильное устройство APK. Например, ваш ТВ-APK может быть существующим кодом версии + 100000 или 100808, в то время как ваше APK мобильного устройства остается на уровне 838. В этом случае вы можете публиковать APK мобильных устройств до кода версии 100808 без необходимости обновлять APK Android TV с помощью каждый толчок. Это также решит любые проблемы с альфа/бета-тестированием Android APK APK.

Его ответ также рассматривается в разделе «Назначение версии кода» this doc.

+0

Я добавил функцию отказа в манифест, но вижу предупреждение о перекрытии устройств в консоли. Точное сообщение: «Некоторые устройства имеют право запускать несколько APK. В таком случае устройство получит APK с более высоким кодом версии». – random

+1

Это правильно, но в основном это сообщение говорит о том, что ваш 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 без поддержки. –

+0

это означает, что мне придется публиковать androidtv apk с инкрементированным кодом версии каждый раз, когда я публикую мобильное приложение apk, даже если у меня нет никаких изменений в коде androidtv? Получат ли пользователи уведомление об обновлении для androidtv в этом случае? – random

 Смежные вопросы

  • Нет связанных вопросов^_^