Основные настройки Samsung Galaxy S II AVD (Android Virtual Device)?
Я хотел бы создать AVD от Samsung Galaxy S II. Единственная цель - проверить веб-сайты с помощью веб-браузера по умолчанию, чтобы посмотреть, как они выглядят в портретном и ландшафтном режимах.
Как сейчас это самый популярный Android-смартфон, я бы хотел проверить его на своих сайтах.
Мне бы хотелось узнать самые основные настройки, чтобы я мог получить хотя бы приблизительную идею. Я использую SDK Andriod с интерфейсом GUI.
Я ищу те настройки, которые появляются после нажатия кнопки "Создать" в Диспетчере виртуальных устройств Andriod.
Например:
Цель:
SD Card:
Кожа:
Оборудование:
Абстрактная плотность ЖК-дисплея
Максимальный размер кучи VM VM
Размер ОЗУ устройства
Etc.
Я попробовал удаленную тестовую лабораторию Samsung, но я обнаружил, что слишком ограничительный (похоже, не может использовать его в горячих точках Интернета, у которых есть определенные порты закрыты), медленный запуск, и я просто заканчиваю черными экранами в любом случае. Итак, я бы предпочел просто запустить мою собственную версию как AVD.
Ответы
Ответ 1
Изменен интерфейс к AVD-менеджеру. Таким образом, для процесса требуются изменения. Вместо одного файла теперь есть определение устройства и определение виртуального устройства. К сожалению, пользовательский интерфейс не дает полного контроля над содержимым.
Эти инструкции работают с версией 21 Android SDK Tools. Они ссылаются на пути Windows 7. Если вы используете другую ОС, вам нужно выяснить, где находятся файлы.
Выполните шаги от mwalter до шага 6 (чтобы получить соответствующие скины). Затем выполните следующие действия:
-
В Диспетчере виртуальных устройств Android щелкните вкладку "Определения устройств" и нажмите "Новое устройство"
-
Введите имя "Samsung Galaxy SII" (имя должно быть точным для работы следующих файлов. Если вы его измените, обязательно сделайте эквивалентные изменения имен в следующих файлах.)
-
Заполните размер экрана, разрешение и оперативную память. Мы собираемся переопределить содержимое, поэтому значения не имеют большого значения, но правильные:
Размер экрана: 4.3
Разрешение: 480 x 800
ОЗУ: 1024
Плотность: hdpi
Кнопки: Аппаратное обеспечение
-
Нажмите "Создать устройство", затем закройте диспетчер AVD
-
Откройте файл C:\Users\[имя пользователя] \. android\devices.xml в вашем любимом XML-редакторе
-
Замените элемент < d: device > ... </d: device > , имеющий имя "Samsung Galaxy SII" со следующим:
<d:device>
<d:name>Samsung Galaxy SII</d:name>
<d:manufacturer>Samsung</d:manufacturer>
<d:meta/>
<d:hardware>
<d:screen>
<d:screen-size>normal</d:screen-size>
<d:diagonal-length>4.30</d:diagonal-length>
<d:pixel-density>hdpi</d:pixel-density>
<d:screen-ratio>long</d:screen-ratio>
<d:dimensions>
<d:x-dimension>480</d:x-dimension>
<d:y-dimension>800</d:y-dimension>
</d:dimensions>
<d:xdpi>216.97</d:xdpi>
<d:ydpi>216.97</d:ydpi>
<d:touch>
<d:multitouch>jazz-hands</d:multitouch>
<d:mechanism>finger</d:mechanism>
<d:screen-type>capacitive</d:screen-type>
</d:touch>
</d:screen>
<d:networking>
Bluetooth
<!--NFC (put this back in if you have an S2 model that supports NFC-->
Wifi
</d:networking>
<d:sensors>
Compass
Accelerometer
GPS
ProximitySensor
LightSensor
Gyroscope
</d:sensors>
<d:mic>true</d:mic>
<d:camera>
<d:location>back</d:location>
<d:autofocus>true</d:autofocus>
<d:flash>true</d:flash>
</d:camera>
<d:keyboard>nokeys</d:keyboard>
<d:nav>nonav</d:nav>
<d:ram unit="GiB">1</d:ram>
<d:buttons>hard</d:buttons>
<d:internal-storage unit="GiB">16</d:internal-storage>
<d:removable-storage unit="GiB">32</d:removable-storage>
<d:cpu>Generic CPU</d:cpu>
<d:gpu>Generic GPU</d:gpu>
<d:abi>
armeabi-v7a
armeabi
</d:abi>
<d:dock/>
<d:power-type>battery</d:power-type>
</d:hardware>
<d:software>
<d:api-level>10-</d:api-level>
<d:live-wallpaper-support>true</d:live-wallpaper-support>
<d:bluetooth-profiles>
HSP
HFP
A2DP
AVRCP
OPP
PBAP
HID
</d:bluetooth-profiles>
<d:gl-version>2.0</d:gl-version>
<d:gl-extensions>
<!-- No clue why the tool is unhappy declaring these, but it is. (Doesn't complain about their presence in the 'official' devices.) Comment them out for now.
GL_OES_rgb8_rgba8
GL_OES_depth24
GL_OES_vertex_half_float
GL_OES_texture_float
GL_OES_texture_half_float
GL_OES_element_index_uint
GL_OES_mapbuffer
GL_OES_fragment_precision_high
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_EGL_image
GL_OES_EGL_image_external
GL_OES_required_internalformat
GL_OES_depth_texture
GL_OES_get_program_binary
GL_OES_packed_depth_stencil
GL_OES_standard_derivatives
GL_OES_vertex_array_object
GL_OES_egl_sync
GL_EXT_multi_draw_arrays
GL_EXT_texture_format_BGRA8888
GL_EXT_discard_framebuffer
GL_EXT_shader_texture_lod
GL_IMG_shader_binary
GL_IMG_texture_compression_pvrtc
GL_IMG_texture_npot
GL_IMG_texture_format_BGRA8888
GL_IMG_read_format
GL_IMG_program_binary
GL_IMG_multisampled_render_to_texture
-->
</d:gl-extensions>
<d:status-bar>true</d:status-bar>
</d:software>
<d:state default="true" name="Portrait">
<d:description>The device in portrait orientation</d:description>
<d:screen-orientation>port</d:screen-orientation>
<d:keyboard-state>keyssoft</d:keyboard-state>
<d:nav-state>nonav</d:nav-state>
</d:state>
<d:state name="Landscape">
<d:description>The device in landscape orientation</d:description>
<d:screen-orientation>land</d:screen-orientation>
<d:keyboard-state>keyssoft</d:keyboard-state>
<d:nav-state>nonav</d:nav-state>
</d:state>
</d:device>
-
Откройте Диспетчер AVD и вернитесь на вкладку "Определения устройств", выберите устройство Samsung Galaxy SII и выберите "Создать AVD". Назовите его так, как вы считаете нужным, и нажмите "ok". (Опять же, мы собираемся переопределить это, так что не беспокойтесь о настройках слишком.)
-
Закройте диспетчер AVD и откройте в своем любимом текстовом редакторе файл C:\Users\[имя пользователя] \. android\avd\[avd name]\config.ini
-
Замените содержимое файла следующим текстом:
avd.ini.encoding=ISO-8859-1
abi.type=armeabi
hw.accelerometer=yes
hw.audioInput=yes
hw.battery=yes
hw.cpu.arch=arm
hw.device.hash=-1902399403
hw.device.manufacturer=Samsung
hw.device.name=Samsung Galaxy SII
hw.dPad=no
hw.gps=yes
hw.gsmModem=yes
hw.keyboard=no
hw.lcd.density=240
hw.mainKeys=yes
hw.ramSize=1024M
hw.sdCard=yes
hw.sensors.orientation=yes
hw.sensors.proximity=yes
hw.touchScreen=yes
hw.trackBall=no
image.sysdir.1=platforms\android-10\images\
skin.dynamic=yes
skin.name=galaxy_s2
skin.path=platforms\android-10\skins\GALAXY_S2
vm.heapSize=32
disk.dataPartition.size=2G
hw.camera.back=webcam0
sdcard.size=200M
-
Возможно, вы захотите отредактировать последние 3 записи, чтобы изменить, сколько хранилищ доступно и как/изменилась ли камера. Я обнаружил, что если я сделаю disk.dataPartition.size таким большим, как это должно быть (16G), симулятор не начнется должным образом. То же самое для sdcard.size, которое может быть размером 32G. Если вы предпочитаете, hw.camera.back может быть настроен на "None" или "Emulated". Также проверьте, что значение hw.device.hash такое же, как в исходном файле. Если он отличается, файл не будет работать.
Удачи.
Ответ 2
Для создания оболочки Samsung Galaxy S2 выполните следующие действия:
- Загрузите скин с страницы Samsung (перейдите по ссылке, отправленной anshumans)
- Перейти в каталог
[Android-SDK directory]/platforms/android-10/skins
- Создайте новый каталог с именем GALAXY_S2
- Извлеките все файлы из загруженного ZIP файла в новый каталог
- Отредактируйте файл
manifest.ini
и измените строку api=9
на api=10
- Запустите AVD и нажмите "Создать..."
- В разделе Target выберите "Android 2.3.3 - API-уровень 10"
- В разделе "Под кожей" выберите "GALAXY_S2" из выпадающего списка
- Нажмите "Создать AVD"
Как вы могли заметить, AVD будет основан на уровне API API 10. Таким образом, скин Galaxy S2 не будет отображаться, если вы выберете целевой Android API уровня 16, например.
Ответ 3
У Samsung есть скин S II на сайте разработчика здесь
Ответ 4
Вы можете загрузить и добавить эмулятор s2 с сайта Samsung dev, http://developer.samsung.com/technical-doc/view.do?v=T000000075&pi=1&ps=10&pb=Y&ct=CT350000&sc=
есть также подробная инструкция о том, как их использовать - http://developer.samsung.com/technical-doc/view.do?v=T000000095
Ответ 5
В то время как правильный ответ считается правильным, скорее всего, у вас будет проблема с разрешением разрешения, которая повредит почти любому приложению, которое вы хотите протестировать/разработать.
Чтобы решить эту проблему, вам также необходимо изменить следующие параметры:
hw.lcd.density
который находится в hardware.ini вашей AVD-оболочки. Вы можете найти его здесь:
<ANDROID_SDK_PATH>\sdk\platforms\android-<APIversion>\skins\<YourSkin>\hardware.ini
от 300 до 218.
Ответ 6
Я не большой поклонник слепой копии и пасты; также, верхний ответ ссылается на 2-й, который, в свою очередь, ссылается на 3-й; наконец, есть некоторые новые изменения в SDK Tools v24.1.2, которые означают, что не требуется никакого редактирования файлов, если вы не тестируете BlueTooth. Поэтому я решил опубликовать обновленное и консолидированное решение. Полный кредит anshumans, mwalter, Lloyd и комментаторы
В контурах используются соглашения Windows. Пользователи OS X/Linux часто могут просто переключать обратную косую черту (\) на косые черты (/), за исключением установочных папок. Эти переменные среды могут быть установлены или не установлены в вашей системе:
<ADT_HOME>
- это расположение AVD Manager.exe
(и по умолчанию - C:\Program Files (x86)\Android\android-sdk
)
<ANDROID_SDK_HOME>
- это местоположение папки .android
, которую AVD использует для хранения определений устройств (и по умолчанию используется HOMEPATH
[и не имеет отношения к вашему местоположению SDK:)])
Samsung скины
Сайт разработчика Samsung содержит ссылки на несколько скинов, включая S2; он также имеет инструкции по их установке с использованием Eclipse с плагин ADT, который не нужен и заменяется Android Studio. Чтобы просто получить скин S2, используйте ссылку на странице Samsung, а затем нажмите на Zip файл с символом гибкого диска (или просто нажмите здесь).
Если вы не использовали инструкции Samsung для установки с помощью Eclipse, выполните следующие действия:
- Решите, какую версию Android вы планируете. Обратите внимание, что S2 был выпущен на уровне API 9 (Gingerbread), и скин отражает это. Более поздние выпуски и обновления включали уровни API 10, 15 и 16. (согласно Wikipedia).
-
Где ??
- цель, выбранная на шаге 1 выше, извлеките содержимое загруженного zip файла в новую папку (например, Galaxy_S2
) в разделе
<ADT_HOME>\platforms\android-??\skins
- Отредактируйте извлеченный
manifest.ini
, изменив строку api=9
, чтобы отобразить текущее местоположение (например, api=15
). (Это действительно не обязательно, но осталось, пока я не смогу подтвердить.)
- Повторите шаги 1-3 для каждой версии, которую вы хотите протестировать.
Определение устройства
Выберите вкладку "Определения устройств" в диспетчере AVD и нажмите кнопку "Создать устройство...". На экране "Создать новое устройство"
- Принять все значения по умолчанию, кроме отмеченных
- Имя: Samsung Galaxy SII (или что-то еще)
- Размер экрана: 4.3 (или 4.5 для модели I9210)
- Разрешение: 480x800
- ОЗУ: 1024 MiB (или 1 GiB)
- Плотность: hdpi
- Кнопки: оборудование
- Нажмите "Создать устройство"
<ANDROID_SDK_HOME>\.android\devices.xml
будет обновляться с новым определением устройства.
Как правило, если вы не создаете много AVD на основе этого, вам никогда не придется вручную редактировать записи в devices.xml
. Обратите также внимание на то, что многие исправления, предлагаемые для соответствия аппаратным средствам SII, фактически не имеют чистого результата. Если вы хотите изменить, сначала закройте AVD Manager (и Eclipse IDE, если применимо).
Определение виртуального устройства Android (AVD) (наконец)
Перезапустите AVD Manager
- Выберите только что появившееся определение устройства
- Нажмите "Создать AVD..."
или
- Нажмите "Создать..." на вкладке "Виртуальные устройства"
- Выберите определение, созданное в разделе Устройство
затем
- Принять все значения по умолчанию, если не указано иное
- Имя AVD: AVD_for_Samsung_Galaxy_SII (или что-то еще)
- Устройство: уже установлено имя вашего устройства
- Target: выберите соответствующий уровень API. Обычно я добавляю это в AVD Name.
- CPU/ABI: ARM
- Клавиатура: снимите флажок "Показывать аппаратную клавиатуру"
- Кожа: Galaxy_S2 (если вы извлекли скин под выбранным целевым API)
- Back Camera: Webcam0 (или что-то еще, вы с ним работаете?)
- ОЗУ: рассмотрим опускание до 768, если в Windows
- Внутреннее хранилище. Несмотря на то, что SII появился в вариантах 16 ГБ и 32 ГБ, подумайте о том, чтобы оставить их на уровне 200 МБ.
- Размер SD-карты: оставьте поле пустым, если оно не является частью вашего тестирования. Чем больше это, тем больше ресурсов требуется. (Рассмотрим 200MiB)
Для более быстрой эмуляции в Windows рассмотрите возможность отключения HyperV в функциях Windows и включение HAXM. Если вы это сделаете, измените следующее:
-
CPU/ABI: выберите любой Intel
Эмуляция: проверить/включить "Использовать главный GPU"
Нажмите "ОК".
<ANDROID_SDK_HOME>\avd\<AVD_NAME>.avd\config.ini
отражает все ваши настройки выше (где AVD_NAME
- это то, что вы установили в 4.). В примере, представленном Lloyd, отображается только одно отличие: skin.dynamic=yes
- я не вижу разницы при работе.