Есть два способа, которыми я знаю, чтобы выполнить обратный серийный номер к поиску имени AVD
Как указано в этом SO answer ... вы можете отменить поиск имени AVD для каждого серийного номера с помощью Telnet. Это немного слабо, потому что все, что вы делаете, это найти экземпляр эмулятора, запущенного с учетом определенного имени AVD. Он не однозначно идентифицирует эмулятор, над которым вы хотите работать. Он также страдает необходимостью использовать telnet и разбор номера порта для каждого эмулятора.
Сначала получите текущие серийные номера
adb devices
, затем telnet для номера порта каждого устройства
telnet localhost 5554
и выдать команду
avd name
, которая вернет AVD-имя этого эмулятора.
Первоначально я видел это в проекте под названием DCMTK . Создайте UUID uuidgen
и установите свойство на эмуляторе при запуске! В моем примере запускается эмулятор для выполнения некоторых проверок времени компиляции для библиотек, которые требуют запуска кода на целевом сервере для определения информации о типе.
emulator -avd nexus19-arm -no-window -no-boot-anim -noaudio -prop emu.uuid=7a6f8701-43c2-4e16-988a-8b4992c0bf8d >/dev/null &1 &
Затем, когда вы хотите найти этот конкретный экземпляр эмулятора, через все запущенные эмуляторы и искать этот UUID.
adb -s emulator-5556 shell getprop emu.uuid
в цикле:
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
adb -s ${SERIAL_NUMBER} wait-for-device
, чтобы вы узнайте, когда вы можете поговорить с эмулятором sys.boot_completed
adb -s ${SERIAL_NUMBER} emu kill
Вы должны использовать таймер, установить интервал в 5000 миллисекунд, что составляет 5 секунд, и ввести этот код под событием Timer_Tick
'Declare a variable for storing the current index
Dim index As Integer = 0
Private Sub Timer1_Tick_1(sender As Object, e As EventArgs) Handles Timer1.Tick
If (Not index >= RichTextBox2.Lines.Length- 1) Then
txt_myip.Text = RichTextBox2.Lines(index)
index += 1
Else
index = 0
Timer1.Stop()
End If
End Sub
.