Невозможно создать Android 4.0 AVD с системной панелью - PullRequest
7 голосов
/ 25 октября 2011

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

Ответы [ 6 ]

5 голосов
/ 25 октября 2011

Вы можете сделать это, создав новый AVD и установив разрешение экрана wxga720.Это сделает его «планшетным» устройством.

Для тех, кто действительно интересуется тем, что здесь происходит, путем создания устройства с разрешением wxga720 создается аппаратное свойство с именем Hardware Back/Home keys, которое устанавливается на no.Кроме того, другое свойство с именем Keyboard lid support установлено на no.Эти два вместе - то, что фактически избавляется от "жестких ключей".

1 голос
/ 12 февраля 2012

На самом деле это довольно просто, просто зайдите в AVD Manager (программу, которая управляет виртуальными образами эмулятора), выберите образ Android 4, затем добавьте свойство «Аппаратные клавиши назад / домой» и установите для него «нет * 1001». *

(из http://www.dandandin.net/how-to-show-the-new-softkeys-in-the-ice-cream-sandwich-emulator)

1 голос
/ 03 декабря 2011

Я потратил некоторое время на поиски этого и выкопал источник Android 4.0, чтобы понять, как это работает.Вот что я выяснил:

  • Android решает, переходить ли в режим планшета с помощью функции isTabletUI.Функция просто проверяет, является ли экран XLARGE.Продолжая копаться в коде, я обнаружил, что экран определяется как XLARGE, если его размер превышает 800x600 при средней плотности.Мне удалось заставить его работать с systembar с разрешением 120 точек на дюйм и разрешением 600x450.
  • Нет способа заставить эмулятор Android вести себя как Galaxy Nexus, то есть иметь телефонный интерфейс со строкой состояния и системной панелью.У него будет либо строка состояния (телефонный интерфейс), либо системная строка (планшетный интерфейс).Другими словами, похоже, что Galaxy Nexus не использует ванильную версию ICS, как я ожидал ..
1 голос
/ 27 ноября 2011

Вот что сработало для меня как на скине WXGA720, так и на собственном разрешении 1280x800:

Опция A: отредактируйте config.ini

  1. Перейдите в каталог AVD (.android/avd/<name-of-avd>.avd/)
  2. Открыть config.ini в нужном текстовом редакторе
  3. Установить hw.lcd.density=160
  4. Сохранить

Вариант Б. Редактирование в Android SDK Manager (GUI)

  1. Нажмите Tools |Manage AVDs...
  2. Выберите Android Virtual Device для редактирования
  3. Нажмите Edit...
  4. Нажмите Значение для свойства Abstracted LCD density
  5. Введите 160
  6. Нажмите Edit AVD, чтобы сохранить

После редактирования плотности запустите AVD и наслаждайтесь вкусом столового сэндвича с мороженым.:)

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

Как и другие, я использовал встроенный скин WXGA720, надеясь работать с интерфейсом планшета, и был разочарован тем, что получил телефонный интерфейс в горизонтальной ориентации.Я даже попробовал новое устройство с пользовательским разрешением 1280x800 и установил hw.mainKeys и hw.keyboard.lid в config.ini безрезультатно.

Плотность скина по умолчанию для WXGA720, равная 320, дает расчетный размер экрана 4,6"Диагональ (4" x 2,25 "), которая, как я догадываюсь, находится в пределах эзотерического порога эмулятора для телефонного устройства. Даже пользовательское разрешение 1280x800, по умолчанию с плотностью 240 и, следовательно, с колоссальной 6,3" диагональю (!), отображается с помощью интерфейса телефона.

Некоторые хорошо названные скины AVD по умолчанию в SDK (например, «WXGA720-телефон» и «WXGA720-планшет») помогут устранить путаницу.Возможно, мы должны ворчать в Google.

1 голос
/ 18 ноября 2011

В Android есть ошибка, из-за которой крышка клавиатуры устанавливается на «да», независимо от того, введете ли вы «да» или «нет». Вы можете заглянуть в папку «.android» вашего домашнего каталога, посмотреть «avds», затем AVD, который вы создали, и отредактировать файл config.ini, установив для него «no»

0 голосов
/ 26 октября 2011

Вы уверены, что выбрали правильный уровень API? Тот получил меня в первый раз, я думал, что нажал на правильную, но я не сделал.

...