Эмуляция плотности 320 точек на дюйм на эмуляторе Android

Мы пытаемся эмулировать устройства с новой плотностью 320 точек на дюйм в Android 2.3 - например, Archos 101, и мы не можем определить эмулятор с такой плотностью, даже после загрузки последней версии 2.3 SDK.

Я был бы очень признателен за некоторые идеи об этом:)

Большое спасибо!

4 ответа

Это довольно просто.

Изменить атрибут hw.lcd.density=320 в конфигурационном файле avd: /Users/yourUserName/.android/avd/CustomDevice_API_19.avd/config.iniи перезагрузите ваше виртуальное устройство. Я уже проверил это, и это работает для меня!

Предупреждение: убедитесь, что вы установили правильную плотность, в противном случае вы получите ошибку: qemu: available lcd densities are: 120, 160, 213, 240, 280, 320, 360, 400, 420, 480, 560, 640

Кстати, моя версия Android SDK Tools - 25.2.5.

В менеджере AVD, если вы выберете встроенный скин, плотность абстрагированного ЖК-дисплея игнорируется, и он будет устанавливать плотность, как описано здесь:

Скины эмулятора (от http://developer.android.com/tools/revisions/platforms.html)

Загружаемая платформа включает в себя следующие скины эмулятора:

  • QVGA (240x320, низкая плотность, маленький экран)
  • WQVGA400 (240х400, низкая плотность, нормальный экран)
  • WQVGA432 (240x432, низкая плотность, нормальный экран)
  • HVGA (320x480, средняя плотность, нормальный экран)
  • WVGA800 (480x800, высокая плотность, обычный экран)
  • WVGA854 (480x854 высокой плотности, обычный экран)
  • WXGA720 (1280x720, сверхвысокая плотность, обычный экран)
  • WSVGA (1024x600, средняя плотность, большой экран)
  • WXGA800-7in (1280x800, высокая плотность, большой экран) новый
  • WXGA800 (1280x800, средняя плотность, большой экран)

Если вы хотите установить собственную плотность абстрагированного ЖК-дисплея, вам необходимо определить собственное разрешение вручную, установив переключатель "Разрешение".

Вот некоторый код, который вы можете использовать для проверки этого:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int density = metrics.densityDpi;
    if (density == DisplayMetrics.DENSITY_HIGH) {
        Toast.makeText(this, "DENSITY_HIGH... Density is " + String.valueOf(density),  Toast.LENGTH_LONG).show();
    }
    else if (density == DisplayMetrics.DENSITY_MEDIUM) {
        Toast.makeText(this, "DENSITY_MEDIUM... Density is " + String.valueOf(density),  Toast.LENGTH_LONG).show();
    }
    else if (density == DisplayMetrics.DENSITY_LOW) {
        Toast.makeText(this, "DENSITY_LOW... Density is " + String.valueOf(density),  Toast.LENGTH_LONG).show();
    }
    else {
        Toast.makeText(this, "Density is neither HIGH, MEDIUM OR LOW.  Density is " + String.valueOf(density),  Toast.LENGTH_LONG).show();
    }

Вы всегда можете определить пользовательскую плотность и разрешение для ваших виртуальных устройств.

Если вы используете Eclipse, перейдите на Window - Android SDK and AVD ManagerТам ударил New введите имя и выберите версию SDK, нажмите Resolution вариант вниз в Skin раздел и установите нужное разрешение. в Hardware раздел изменить параметр по умолчанию ABstracted LCD Density к вашему желаемому значению и нажмите Create AVD кнопка.

Когда вы нажмете Start Кнопка в диспетчере AVD, то вы получите всплывающее окно, где вы можете выбрать Scale display to real size, Там вы должны установить для устройств реальный размер экрана и ваши мониторы dpi. Вы можете нажать на знак вопроса справа от этого поля ввода и позволить калькулятору рассчитать его для вас на основе размера ваших мониторов.

Из того, что я понимаю, Android классифицирует размер и плотность экрана, так что я думаю, что он обрабатывает 240 точек на дюйм так же, как 320 точек на дюйм, то есть это высокая плотность. Существует также следующая опция - сверхвысокая плотность. Я нашел эту информацию в справочнике разработчиков Android, см. http://developer.android.com/guide/topics/fundamentals.html и в нижней части раздел под названием "Объявление требований приложения". Я могу быть совершенно неправ, но подумал, что стоит кричать.

Другие вопросы по тегам