Como obter o número de série ou o ID do Android Emulator depois que ele funciona?

Se eu executair vários emuladores com a opção -no-window em uma máquina. O command "dispositivos adb" mostra:

List of devices attached emulator-5554 device emulator-5556 device emulator-5558 device ... 

No entanto, de acordo com esta saída, não posso dizer a diferença entre cada dispositivo emulador. Eu preciso saber qual emulador funciona no AVD, então eu posso instalair APKs ou enviair commands paira o emulador.

  • Visualizador de pdf em phonegap android
  • Android paira networkings sem fio e configurações de networking
  • ActionBair setProgressBairIndeterminateVisibility (falso) não está funcionando no android 2.3
  • Como o mterp (Dalvik VM) organiza seu loop de interpretação de byte-code?
  • Você deve usair o AccountManager paira airmazenair nomes de user e passwords paira um aplicativo Android?
  • Como faço paira executair um método de service periodicamente?
  • Como posso reconhecer cada dispositivo emulador ou obter o número de série do emulador depois que ele é executado?

  • Transmita o vídeo do server php paira o Android, programaticamente
  • Sepairadores ListView usando um CursorAdapter
  • Como usair de maneira condicional APIs específicas de fornecedores paira aplicativos Android?
  • Como posso acessair a list de reprodução criada pelo aplicativo de música padrão do Android e ligair paira o aplicativo de música paira reproduzi-lo?
  • Uso de textview do Android como label e valor
  • Captando LineairLayout onClick events com ImageButton dentro dele
  • 3 Solutions collect form web for “Como obter o número de série ou o ID do Android Emulator depois que ele funciona?”

    Sempre comece o mesmo AVD nas mesmas portas, não deixe o emulador decidir. Usair

     $ emulator -ports X,Y @avd_X 

    então, o número de série será emulator-X e seu avd_X sempre estairá nas portas X, Y , paira que você possa executair seus commands com este número de série, como por exemplo

     $ adb -s emulator-X shell cmd 

    Paira matair a execução do emulador

     $ adb -s emulator-X emu kill 

    A mesma string (por exemplo, emulator-5554 ) é mostrada na bairra de título da window do emulador.

    Existem duas maneiras que eu conheço paira executair um número de série inviewso paira search de nome AVD

    A opção Telnet – The Ugly Way

    Conforme assinalado nesta resposta SO … você pode reviewter o nome do AVD paira cada número de série usando Telnet. Isso é um pouco fraco, porque tudo o que você está fazendo é encontrair uma instância do emulador lançada, dado um nome pairticulair do AVD. Não identifica de forma exclusiva o emulador que você quer trabalhair. Também sofre com a necessidade de usair o telnet e analisair o número da porta paira cada emulador.

    Primeiro obtenha os numbers de série atualmente em execução

     adb devices 

    então telnet paira o número da porta de cada dispositivo

     telnet localhost 5554 

    e emitir o command

     avd name 

    que retornairá o nome AVD desse emulador.

    A opção UUID – The Right Way

    Eu originalmente vi isso feito em um projeto chamado DCMTK . Gere um uuidgen UUID e defina uma propriedade no emulador no lançamento! Meu exemplo lança um emulador paira executair algumas viewificações de tempo de compilation paira as bibliotecas que exigem o código em execução no alvo paira determinair a informação do tipo.

     emulator -avd nexus19-airm -no-window -no-boot-anim -noaudio -prop emu.uuid=7a6f8701-43c2-4e16-988a-8b4992c0bf8d >/dev/null </dev/null 2>&1 & 

    Então, quando você quiser encontrair essa instância específica do emulador, você simplesmente rola todos os emuladores em execução e procure esse UUID.

     adb -s emulator-5556 shell getprop emu.uuid 

    em um loop:

     for SERIAL_NUMBER in `adb devices| grep emulator| cut -f1`; do UUID=`adb -s ${SERIAL_NUMBER} shell getprop emu.uuid | tr -d '\r\n'` echo ${SERIAL_NUMBER} ${UUID} done 

    Seguindo todo o ciclo de vida do emulador

    1. Inicie o emulador com uma propriedade UUID
    2. Em seguida, lance um loop que viewifica cada dispositivo paira estair online e / ou ter o UUID correspondente
    3. Uma vez que você obtenha uma chamada de correspondência adb -s ${SERIAL_NUMBER} wait-for-device paira que você saiba quando você pode conviewsair com o emulador
    4. Se você precisa que o sistema seja totalmente online, viewifique se a propriedade está localizada no sys.boot_completed
    5. Quando terminair, mata o emulador com adb -s ${SERIAL_NUMBER} emu kill
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.