que para lista hard descargar consola comandos android adb android-debug

para - ¿Activar Android con el uso de adb o Eclipse(justo antes de la depuración)?



consola adb (9)

Cómo activar Android con use adb: quiero despertar (si está dormido) el terminal Android antes de depurar cada nueva versión de la aplicación.

El flujo típico es: 1. Hago algunos cambios en Eclipse. 2. Mientras tanto la pantalla se apaga o no. 3. Ejecuto "depurar" y quiero forzar la pantalla para despertar.

Encontré un método con emulación de "tecla de encendido" pero no lo enciende sino que cambia el estado de encendido. No quiero agregar código extra a mi aplicación. ¿Cuáles son los otros métodos para hacer una tarea tan trivial, por favor ayuda?


Esto es lo que se me ocurrió:

adb shell dumpsys power | grep "mScreenOn=true" | xargs -0 test -z && adb shell input keyevent 26

Esto primero verificará si la pantalla está encendida. Si no lo es, emulará la tecla de encendido, que encenderá la pantalla del dispositivo.


Para Windows y Eclipse puedes usar el archivo .bat:

@ECHO OFF setlocal for /f "delims= tokens=1*" %%a in (''adb shell dumpsys power ^| findstr.exe "mScreenOn="'') DO ( for /f "delims== tokens=2*" %%S in ("%%a") do ( if "%%S" == "false" (goto move1) else (goto move2) ) ) :move1 adb shell input keyevent 26 goto end :move2 goto end :end exit

Verificará, si la pantalla está apagada, cambiará el estado de alimentación. Para usarlo con Eclipse, este archivo .bat debe usarse como "Herramienta externa" (solo debe completar la ruta al archivo .bat) y vincularse al proyecto en sus propiedades (Builders - Import -).


Puede verificar el estado de energía actual del dispositivo (incluida la pantalla) a través de adb con el comando dumpsys power y enviar el evento de presión de la tecla de encendido solo si la pantalla está apagada. La solución más sencilla sería desactivar el tiempo de espera de la pantalla por completo "mientras está conectado a USB" en las opciones del Desarrollador.


Sé que esto es lo opuesto a lo que solicitó el OP, pero quería señalar la definición de "realmente dormido" para otros lectores: si adb está activo, entonces el dispositivo no está realmente dormido, ya que el USB está encendido y el comando el indicador se está ejecutando (¿de qué otra manera funcionará el shell de adb?). Cuando está completamente dormido, solo el botón de encendido físico lo activará (a menos que se seleccionen otros botones como fuente de activación en el BSP). Mi proyecto consume aproximadamente 120 mA con la pantalla apagada, pero solo 23 m en modo de suspensión (desconecte el cable USB). "adb shell input keyevent 26" no funciona en este modo. Tampoco la consola serial. Mi dispositivo de prueba tiene acceso a la batería y la línea de alimentación externa por separado. Puedo alternar la línea de alimentación (con la batería conectada) para activarlo. También tengo un concentrador USB conmutado que desconecta el USB específicamente para la parte inactiva de la prueba.

Espero que esto pueda ser de alguna ayuda para alguien.


Si ejecuta adb shell input keyevent KEYCODE_POWER y se Killed , debe usar el usuario root ejecutando su antes.

sleep: (adb shell) input keyevent KEYCODE_SLEEP

activación: (adb shell) input keyevent KEYCODE_WAKEUP

toggle: (adb shell) input keyevent KEYCODE_POWER


Solo usa :

adb shell input keyevent 26


También puede agregar las siguientes banderas a su onCreate() en su actividad principal:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

De esta manera, su dispositivo debe activarse cuando se carga en el dispositivo a través de Eclipse.


Utilicé lo siguiente para reactivar dispositivos remotos para pruebas automatizadas. Si la pantalla no está encendida, entonces presionará el botón de encendido seguido del botón de menú.

( cd ${platform-tools}; ./adb shell dumpsys power | grep -i ''SCREEN_ON'' >/dev/null; if [ $? -eq 0 ]; then echo "Screen is on..."; else echo "Pressing buttons to wake-up..."; # http://developer.android.com/reference/android/view/KeyEvent.html ./adb shell input keyevent 26; # Power ./adb shell input keyevent 82; # Menu echo "Pausing for state to settle..."; sleep 1; ./adb shell dumpsys power | grep -i ''SCREEN_ON''; fi; echo ''---''; ./adb shell dumpsys power | grep -i ''SCREEN'' )


adb shell input keyevent KEYCODE_WAKEUP

Como se describe here , esto despierta el dispositivo. Se comporta de alguna manera como KEYCODE_POWER pero no tiene efecto si el dispositivo ya está despierto.

Para alternar el modo de espera / activación con un comando, puede emitir

adb shell input keyevent KEYCODE_POWER