1

I installed latest Android SDK 4.2(API 17), Google TV addon on my Ubuntu 12.04 Desktop (KVM enabled) When I launched Emulator from command line, it does not have the skin and hardware control as shown in this link https://developers.google.com/tv/android/docs/gtv_emulator#TVKeys It only has a Google TV logo and all black background.

When pushing a simple Hello world program to Emulator, Ecipse console shows ok

[2012-12-18 13:37:18 - hellow] Android Launch!
[2012-12-18 13:37:18 - hellow] adb is running normally.
[2012-12-18 13:37:18 - hellow] Performing com.example.hellow.MainActivity activity launch
[2012-12-18 13:37:18 - hellow] Automatic Target Mode: Unable to detect device compatibility. Please select a target device.
[2012-12-18 13:37:21 - hellow] Uploading hellow.apk onto device 'emulator-5554'
[2012-12-18 13:37:22 - hellow] Installing hellow.apk...
[2012-12-18 13:37:22 - hellow] Success!
[2012-12-18 13:37:22 - hellow] Starting activity com.example.hellow.MainActivity on device emulator-5554

But Google TV emulator shows nothing. Still just the logo If I changed AVD to other device like Nexus, I can run Hello on the Nexus AVD successfully.

Below are terminal output of Google TV AVD

emulator: Android virtual device file at: /home/qinghui/.android/avd/GoogleTV.ini
emulator: virtual device content at /home/qinghui/.android/avd/GoogleTV.avd
emulator: virtual device config file: /home/qinghui/.android/avd/GoogleTV.avd/config.ini
emulator: using core hw config path: /home/qinghui/.android/avd/GoogleTV.avd/hardware-qemu.ini
emulator: Found AVD target API level: 12
emulator: 'magic' skin format detected: 720x1280
emulator: autoconfig: -skin 720x1280
emulator: autoconfig: -skindir (null)
emulator: keyset loaded from: /home/qinghui/.android/default.keyset
emulator: found SDK root at /usr/GoogleTV/sdk
emulator: trying to load skin file '/usr/GoogleTV/sdk/tools/lib/emulator/skins/dynamic//layout'
emulator: loaded dynamic skin width=720 height=1280 bpp=16

emulator: autoconfig: -kernel /usr/GoogleTV/sdk/add-ons/addon-google_tv_addon-google-12/images/x86//kernel-qemu
emulator: autoconfig: -ramdisk /usr/GoogleTV/sdk/add-ons/addon-google_tv_addon-google-12/images/x86//ramdisk.img
emulator: Using initial system image: /usr/GoogleTV/sdk/add-ons/addon-google_tv_addon-google-12/images/x86//system.img
emulator: autoconfig: -data /home/qinghui/.android/avd/GoogleTV.avd/userdata-qemu.img
emulator: autoconfig: -initdata /home/qinghui/.android/avd/GoogleTV.avd/userdata.img
emulator: autoconfig: -cache /home/qinghui/.android/avd/GoogleTV.avd/cache.img
emulator: Physical RAM size: 1024MB

Content of hardware configuration file:
  hw.cpu.arch = x86
  hw.ramSize = 1024
  hw.screen = touch
  hw.mainKeys = no
  hw.trackBall = no
  hw.keyboard = no
  hw.keyboard.lid = no
  hw.keyboard.charmap = qwerty2
  hw.dPad = no
  hw.gsmModem = yes
  hw.gps = yes
  hw.battery = yes
  hw.accelerometer = yes
  hw.audioInput = yes
  hw.audioOutput = yes
  hw.sdCard = no
  disk.cachePartition = yes
  disk.cachePartition.path = /home/qinghui/.android/avd/GoogleTV.avd/cache.img
  disk.cachePartition.size = 66m
  hw.lcd.width = 720
  hw.lcd.height = 1280
  hw.lcd.depth = 16
  hw.lcd.density = 320
  hw.lcd.backlight = yes
  hw.gpu.enabled = no
  hw.camera.back = none
  hw.camera.front = none
  vm.heapSize = 64
  hw.sensors.proximity = yes
  hw.sensors.magnetic_field = yes
  hw.sensors.orientation = yes
  hw.sensors.temperature = yes
  kernel.path = /usr/GoogleTV/sdk/add-ons/addon-google_tv_addon-google-12/images/x86//kernel-qemu
  kernel.parameters =  androidboot.hardware=goldfish clocksource=pit android.checkjni=1
  disk.ramdisk.path = /usr/GoogleTV/sdk/add-ons/addon-google_tv_addon-google-12/images/x86//ramdisk.img
  disk.systemPartition.initPath = /usr/GoogleTV/sdk/add-ons/addon-google_tv_addon-google-12/images/x86//system.img
  disk.systemPartition.size = 200m
  disk.dataPartition.path = /home/qinghui/.android/avd/GoogleTV.avd/userdata-qemu.img
  disk.dataPartition.size = 200m
  avd.name = GoogleTV
.
QEMU options list:
emulator: argv[00] = "./emulator-x86"
emulator: argv[01] = "-android-hw"
emulator: argv[02] = "/home/qinghui/.android/avd/GoogleTV.avd/hardware-qemu.ini"
Concatenated QEMU options:
 ./emulator-x86 -android-hw /home/qinghui/.android/avd/GoogleTV.avd/hardware-qemu.ini
emulator: registered 'boot-properties' qemud service
emulator: nand_add_dev: system,size=0xc800000,initfile=/usr/GoogleTV/sdk/add-ons/addon-google_tv_addon-google-12/images/x86//system.img
emulator: mapping 'system' NAND image to /tmp/android-qinghui/emulator-8hHMHn
emulator: rounding devsize up to a full eraseunit, now c810000

emulator: nand_add_dev: userdata,size=0xc800000,file=/home/qinghui/.android/avd/GoogleTV.avd/userdata-qemu.img
emulator: rounding devsize up to a full eraseunit, now c810000

emulator: registered 'boot-properties' qemud service
emulator: Adding boot property: 'dalvik.vm.heapsize' = '64m'
emulator: Adding boot property: 'qemu.sf.lcd_density' = '320'
emulator: Adding boot property: 'qemu.hw.mainkeys' = '0'
emulator: Adding boot property: 'qemu.sf.fake_camera' = 'none'
emulator: nand_add_dev: cache,size=0x4200000,file=/home/qinghui/.android/avd/GoogleTV.avd/cache.img
emulator: Initializing hardware OpenGLES emulation support
emulator: KVM mode auto-enabled!
emulator: Kernel parameters: qemu.gles=0 qemu=1 console=ttyS0 android.qemud=ttyS1 androidboot.hardware=goldfish clocksource=pit android.checkjni=1 ndns=1
emulator:     trying to find: /usr/GoogleTV/sdk/tools/bios.bin

emulator:     trying to find: /usr/GoogleTV/sdk/tools/lib/pc-bios/bios.bin

emulator:     trying to find: /usr/GoogleTV/sdk/tools/vgabios-cirrus.bin

emulator:     trying to find: /usr/GoogleTV/sdk/tools/lib/pc-bios/vgabios-cirrus.bin

emulator: autoconfig: -scale 0.800781
emulator: Could not open file: (null)/system/build.prop: No such file or directory
emulator: control console listening on port 5554, ADB on port 5555
emulator: sent '0012host:emulator:5555' to ADB server
emulator: ping program: /usr/GoogleTV/sdk/tools/ddms
emulator: ping command: /usr/GoogleTV/sdk/tools/ddms ping emulator 21.0 "Tungsten Graphics, Inc" "Mesa DRI Intel(R) Sandybridge Desktop x86/MMX/SSE2" "3.0 Mesa 8.0.2"
goldfish_fb_get_pixel_format:167: display surface,pixel format:
  bits/pixel:  16
  bytes/pixel: 2
  depth:       16
  red:         bits=5 mask=0xf800 shift=11 max=0x1f
  green:       bits=6 mask=0x7e0 shift=5 max=0x3f
  blue:        bits=5 mask=0x1f shift=0 max=0x1f
  alpha:       bits=0 mask=0x0 shift=0 max=0x0

From log it seems KVM was enabled successfully? Any help why there is no skin and puss App was not showing anything ?

jefftang
  • 104
  • 4

1 Answers1

0

There are a few things here.

  1. Google TV currently only supports Android API Level 12 and 13 (anything higher will not work)

  2. There seems to be an error in the emulator output logs

    'emulator: Could not open file (null)/system/build.prop: No such file or directory'

  3. Are you more concerned about the emulator skin or the application not running in the emulator?

As a side note - there will be a new emulator release very soon (should be before the new year)

Krispy
  • 1,098
  • 1
  • 7
  • 11
  • "build.prop" seems not a problem. Because when I run Nexus AVD, it has the same error, but I can run App on Nexus AVD. – jefftang Jan 06 '13 at 19:11
  • I am using API level 12 as google doc suggested. I am more concerned about not be able to run app in GoogleTV simulator – jefftang Jan 06 '13 at 19:38
  • Ok, my problem solved by following this link http://stackoverflow.com/questions/13851065/google-tv-emulator-hangs-at-google-tv-logo, and also I updated my process at here http://oncelinux.blogspot.com/2013/01/googletv-emulator-hang-on-logo-screen.html – jefftang Jan 06 '13 at 23:32
  • Unless you are using the Google TV specific APIs (mainly things like QoS, CC or something special with the Media stack) you can use the regular Android emulator set to Nexus 7 (horizontal) - this emulates a 720p tv resolution. Remember there is no touch, no phone and no camera. – Krispy Jan 07 '13 at 01:24