Экран манифеста поддерживает вход только для устройства и только для планшета

Какой должна быть запись манифеста приложения Android, которое поддерживает только устройство, а не планшет. Размер устройства может варьироваться, но не более 7 дюймов.

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

<uses-sdk
    android:minSdkVersion="6"
    android:targetSdkVersion="8" />


<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:resizeable="true"
    android:smallScreens="true"
    android:xlargeScreens="false" />

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

Пожалуйста, предложите мне идеальную запись манифеста для этого.


person Krishnakant Dalal    schedule 01.10.2012    source источник


Ответы (3)


Попробовав все возможные комбинации экрана поддержки и версии SDK, я все еще не могу ограничить 10-дюймовое планшетное устройство для загрузки этого приложения.

Если вы просто хотите исключить 10-дюймовый планшет, просто вручную исключите все планшеты из списка поддерживаемых устройств.

Если у вас есть другая сборка для того же приложения, загрузите эту сборку и сохраните код ее версии выше, чем сборка устройства. Код версии ни в коем случае не должен конфликтовать. Потому что, если несколько apk поддерживают любое устройство, apk более высокой версии будет поддерживать это устройство.

Когда я загружаю обе сборки в свою учетную запись google, появляется следующее примечание/предупреждение, чтобы помочь мне:

"Warning: Multiple active APKs support some of the same devices. If a device is supported by more than one APK, it will receive the one with the higher version."

и после записи манифеста моего приложения:

для сборки устройства:

<uses-sdk
android:minSdkVersion="6"
android:targetSdkVersion="8" />


<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="false" />

Для сборки планшета:

<uses-sdk
android:minSdkVersion="6"
android:targetSdkVersion="8" />


<supports-screens
android:anyDensity="true"
android:largeScreens="false"
android:normalScreens="false"
android:resizeable="false"
android:smallScreens="false"
android:xlargeScreens="true" />
person Krishnakant Dalal    schedule 12.10.2012
comment
Мое приложение должно поддерживать все мобильные телефоны и планшеты Android... поэтому, пожалуйста, предложите версию sdk и значения экрана поддержки... - person Android Developer; 05.10.2013
comment
@Krishnakant Dalal, эй, я использую это, но оно по-прежнему позволяет мне устанавливать приложение на планшеты. Я пытаюсь запустить его на эмуляторе eclipse, и это позволяет мне запускать его на планшете. - person Dory; 19.11.2013

Вы должны использовать этот атрибут в своем манифесте

android:largestWidthLimitDp="enter mobile pixel value which above you want restrict."

<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:resizeable="true"
    android:largestWidthLimitDp="500"
    android:smallScreens="true"
    android:xlargeScreens="false" />
person Rishabh Agrawal    schedule 01.10.2012
comment
Но это недоступно для SDK версии 8. - person Krishnakant Dalal; 01.10.2012

взгляните на http://developer.android.com/guide/topics/manifest/supports-screens-element.html

Код для отключения очень больших экранов

<supports-screens
 android:xlargeScreens="false"
 />

Из того, что я вижу, это по-прежнему позволяет вам запускать приложение на планшетном устройстве из Eclipse, но должно отключить его во время публикации.

person Shrikant Ballal    schedule 01.10.2012
comment
Я опубликовал свое приложение для устройства с указанными выше записями манифеста, и я все еще могу загрузить приложение на 10-дюймовый планшет. - person Krishnakant Dalal; 01.10.2012
comment
Просто установите цель на 9 или выше, и вы можете использовать xlarge. Любое устройство с уровнем API ниже 9 не должно быть в состоянии объявить себя как xlarge и, следовательно, сможет установить ваше приложение. Так что попробуйте это, и дайте мне знать. - person Shrikant Ballal; 01.10.2012
comment
Так вы все еще застряли на этой проблеме? - person Shrikant Ballal; 12.10.2012