Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

среда, 7 марта 2012 г.

Java for fun: Установка Android окруения. Запуска эмулятора

Хотел описать, дак уже описано все...

Пишем HelloWorld приложение. Для этого надо установить JDK6, Android SDK, Eclipse и плагин под него для эмуляции android.
Но не все так просто... Видимо с момента написания статьи прошло много времени, а потому не все в ней осталось актуальным: линки с JDK не работают, между 3 и 4 пунктом надо было сделать кое что.

В общем скачал JDK - благо по запросу "Download Android SDK" Google выдает первым в списке то что надо.
Распаковал в папку (имя которой не содержит пробелы) Android в корень диска.

Установил переменные окружения:



Проверил, правильно ли подхватились они, запустив одно из приложений в консоли


Далее мои действия и действия предлагаемые в мануале расходятся по простой причине, как оказалось у меня нет ни одного target, которые нужны были для создания android virtual device, который нужен для запуска эмулятора. Че за target, какие такие avd? Help мне в помощь!

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Sanja>emulator
emulator: ERROR: You did not specify a virtual device name, 
  and the system directory could not be found.

If you are an Android SDK user, please use '@' or '-avd ' 
  to start a given virtual device (see -help-avd for details).

Otherwise, follow the instructions in -help-disk-images to start the emulator

C:\Documents and Settings\Sanja>emulator -help-avd

  use '-avd ' to start the emulator program with a given 
  Android Virtual Device (a.k.a. AVD), where  must correspond to the name
  of one of the existing AVDs available on your host machine.

See -help-virtual-device to learn how to create/list/manage AVDs.

  As a special convenience, using '@' is equivalent to using
  '-avd '.

C:\Documents and Settings\Sanja>emulator -avd Sasha
emulator: ERROR: unknown virtual device name: 'Sasha'
emulator: could not find virtual device named 'Sasha'

C:\Documents and Settings\Sanja>emulator -help-virtual-device

  An Android Virtual Device (AVD) models a single virtual
  device running the Android platform that has, at least, its own
  kernel, system image and data partition.

  Only one emulator process can run a given AVD at a time, but
  you can create several AVDs and run them concurrently.

  You can invoke a given AVD at startup using either '-avd '
  or '@', both forms being equivalent. For example, to launch
  the AVD named 'foo', type:

      emulator @foo

  The 'android' helper tool can be used to manage virtual devices.
  For example:

    android create avd -n  -t 1  # creates a new virtual device.
    android list avd                   # list all virtual devices available.

  Try 'android --help' for more commands.

  Each AVD really corresponds to a content directory which stores
  persistent and writable disk images as well as configuration files.
  Each AVD must be created against an existing SDK platform or add-on.
  For more information on this topic, see -help-sdk-images.

  SPECIAL NOTE: in the case where you are *not* using the emulator
  with the Android SDK, but with the Android build system, you will
  need to define the ANDROID_PRODUCT_OUT variable in your environment.
  See -help-build-images for the details.

C:\Documents and Settings\Sanja>android create avd -n Apofig -t 1
Error: Target id is not valid. Use 'android.bat list targets' to get the target
ids.

C:\Documents and Settings\Sanja>android create avd -n apofig -t 1
Error: Target id is not valid. Use 'android.bat list targets' to get the target
ids.

C:\Documents and Settings\Sanja>android list avd
Available Android Virtual Devices:

C:\Documents and Settings\Sanja>android list targets
Available Android targets:

C:\Documents and Settings\Sanja>android -help
Error: Flag '-help' is not a valid global flag. Did you mean to specify it after
 the verb/object name?

Usage:
  android [global options] action [action options]

Global options:
  -v --verbose  Verbose mode: errors, warnings and informational messages are pr
inted.
  -h --help     Help on a specific command.
  -s --silent   Silent mode: only errors are printed out.

Valid actions are composed of a verb and an optional direct object:
-   list               : Lists existing targets or virtual devices.
-   list avd           : Lists existing Android Virtual Devices.
-   list target        : Lists existing targets.
- create avd           : Creates a new Android Virtual Device.
-   move avd           : Moves or renames an Android Virtual Device.
- delete avd           : Deletes an Android Virtual Device.
- update avd           : Updates an Android Virtual Device to match the folders
of a new SDK.
- create project       : Creates a new Android project.
- update project       : Updates an Android project (must already have an Androi
dManifest.xml).
- create test-project  : Creates a new Android project for a test package.
- update test-project  : Updates the Android project for a test package (must al
ready have an AndroidManifest.xml).
- create lib-project   : Creates a new Android library project.
- update lib-project   : Updates an Android library project (must already have a
n AndroidManifest.xml).
- update adb           : Updates adb to support the USB devices declared in the
SDK add-ons.
- update sdk           : Updates the SDK by suggesting new platforms to install
if available.

C:\Documents and Settings\Sanja>

Пришлось гуглить - так вышел на серию статей об Android разработке.
Почему именно Android? Чем он лучше других?
Создание рабочей среды для разработки приложений под Android
Создание нового приложения для Android
Прочиал, переварил и вам советую.

Итак по совету Автора, потребовалось запустить SDK Manager.


И произвести выбор необходимых мне компонентов.


Загрузка заняла некоторое время


Да, как пожелаешь...


Правда я так и не понял что перезапустилось, но ладно. Вот менеджер в результате


А еще папок стало заметно больше.


Ну теперь совсем другое дело! Есть таргеты

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Sanja>android list targets
Available Android targets:
id: 1 or "android-8"
     Name: Android 2.2
     Type: Platform
     API level: 8
     Revision: 2
     Skins: HVGA, WQVGA400, WQVGA432, WVGA854, QVGA, WVGA800 (default)

C:\Documents and Settings\Sanja>

а значит я могу создать и avd и запуститься под ним. Создавая avd я сознательно выбрал Yes на "Do you wish to create a custom hardware profile" ничего не меняя (все равно система придложила параметры по умолчанию) я узнал, что можно было бы поменять. Так, любопытства ради.

C:\Documents and Settings\Sanja>android create avd -n Apofig -t 1
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]y

SD Card support: Whether the device supports insertion/removal of virtual SD Car
ds.
hw.sdCard [yes]:

Abstracted LCD density: Must be one of 120, 160 or 240. A value used to roughly
describe the density of the LCD screen for automatic resource/asset selection.
hw.lcd.density [160]:

DPad support: Whether the device has DPad keys
hw.dPad [yes]:

Accelerometer: Whether there is an accelerometer in the device.
hw.accelerometer [yes]:

Maximum horizontal camera pixels
hw.camera.maxHorizontalPixels [640]:

Cache partition size
disk.cachePartition.size [66MB]:

Audio playback support: Whether the device can play audio
hw.audioOutput [yes]:

Track-ball support: Whether there is a trackball on the device.
hw.trackBall [yes]:

Maximum vertical camera pixels
hw.camera.maxVerticalPixels [480]:

Proximity support: Whether there is an proximity in the device.
hw.sensors.proximity [yes]:

Camera support: Whether the device has a camera.
hw.camera [no]:

Battery support: Whether the device can run on a battery.
hw.battery [yes]:

Audio recording support: Whether the device can record audio
hw.audioInput [yes]:

Touch-screen support: Whether there is a touch screen or not on the device.
hw.touchScreen [yes]:

GPS support: Whether there is a GPS in the device.
hw.gps [yes]:

Cache partition support: Whether we use a /cache partition on the device.
disk.cachePartition [yes]:

Keyboard lid support: Whether the QWERTY keyboard can be opened/closed.
hw.keyboard.lid [yes]:

Keyboard support: Whether the device has a QWERTY keyboard.
hw.keyboard [yes]:

Max VM application heap size: The maximum heap size a Dalvik application might a
llocate before being killed by the system. Value is in megabytes.
vm.heapSize [16]:

Device ram size: The amount of physical RAM on the device, in megabytes.
hw.ramSize [0]:

GSM modem support: Whether there is a GSM modem in the device.
hw.gsmModem [yes]:

Created AVD 'Apofig' based on Android 2.2,
with the following hardware config:
hw.lcd.density=240
vm.heapSize=24

C:\Documents and Settings\Sanja>

Теперь вызовом команды

C:\Documents and Settings\Sanja>emulator @Apofig

запустился эмулятор!

Немного понаблюдав за картинкой


вскоре дождался другой (пора менять мой компутер)


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

Комментариев нет:

Отправить комментарий