Estoy creando una aplicación en Android Studio, ahora intento depurarla a través de adb. Cuando hago clic en la palabra Android y el logotipo en la barra inferior, logcat aparece y reconoce mi dispositivo. Entonces veo esto:
¿Qué debo hacer con mi aplicación para que sea "depurable"?
FYI estaba desarrollando esta aplicación en Eclipse antes y adb funcionó bien.
android
debugging
adb
android-studio
Andy Roy D.
fuente
fuente
Respuestas:
Hay un icono de depuración en la barra de herramientas. Parece un pequeño "error" y se encuentra justo al lado del icono Ejecutar (que parece un botón de reproducción). Intente iniciar la aplicación con eso.
Editar: lo siguiente está obsoleto cuando se usa Android Studio con Gradle.
También hay una marca de depuración en el archivo AndroidManifest.xml . Se encuentra debajo de la etiqueta de la aplicación y debe establecerse en "true", de la siguiente manera:
<application android:debuggable="true"> </application>
fuente
File
->Settings
->Keymap
- se encuentran enMain menu
->Run
. Vea esto para más información.Resolví este problema después de seguir los siguientes pasos:
Vaya a Herramientas ==> android ==> Deshabilite la integración de ADB y habilítelo nuevamente.
Después de eso, desconecte el USB del dispositivo y vuelva a conectarlo.
Finalmente presione shift + F9
fuente
Otra cosa a tener en cuenta (hice esto para saberlo, duh). ¡Asegúrese de no habilitar Proguard para la depuración!
fuente
También tuve este problema al azar incluso después de depurar muchas veces en Android Studio. Un día, el depurador simplemente no se conecta. Solo tuve que salir de Android Studio y volver a abrirlo y el depurador comenzó a funcionar nuevamente.
fuente
<application android:debuggable="true"> </application>
¡Esto ya no funciona! No es necesario utilizar debuggable = "true" en el manifiesto.
En su lugar, debe configurar las variantes de compilación en "depurar"
En Android Studio, vaya a BUILD -> Select Build Variant
Ahora intente depurar. Gracias
fuente
Esto funcionó para mí:
Abra el caparazón y escriba:
adb kill-server
adb start-server
fuente
adb reconnect
comando simple , pero ya no lo hace en AS 3.1 (¿tal vez estoy haciendo algo mal o no lo suficiente?Asegúrese de haber habilitado la integración ADB.
En Menú: Herramientas -> Android -> Habilitar integración ADB (v1.0)
fuente
Si su aplicación solía ser depurable y de repente ya no se puede depurar, aquí está mi solución
USB debug
interruptor en su teléfono.fuente
Un caso en el que no puede depurar una aplicación en Android Studio es cuando tiene seleccionada la variante de compilación de "lanzamiento". Me pasó a mí: Gradle crea una versión de lanzamiento de la aplicación (que no se puede depurar) y luego Android Studio falla al intentar conectar el depurador.
fuente
Esto me pasa de vez en cuando y todavía tengo que averiguar por qué. Ninguna de las soluciones ya publicadas me ha funcionado. Lo único que me funciona es:
fuente
El icono "Adjuntar depurador al proceso de Android" debe usarse en caso de que establezca "android: proceso" personalizado en su archivo de manifiesto.
En mi caso, debería seleccionar el proceso adecuado y hacer clic en el botón Aceptar justo después de que aparezca el cuadro de diálogo "Esperar al depurador".
fuente
Verifique, si su proyecto de aplicación está seleccionado en el menú desplegable junto al botón de depuración. A veces, Android Studio simplemente restablece esta selección ...
fuente
Si habilita
<application android:debuggable="true"> </application>
En el archivo manifest.xml de la aplicación, asegúrese de deshabilitarlo al generar el apk final firmado, ya que esto puede servir como un agujero de seguridad para los atacantes. Úselo solo si solo una de sus aplicaciones no muestra los registros. Sin embargo, antes de considerar esa opción, intente esto:
Navega a herramientas en el estudio de Android
Tools==>android==>disable adb integration and again enable it
fuente
Además, asegúrese de no utilizar otras aplicaciones que también puedan estar usando ADB, como Eclipse, por ejemplo.
fuente
Probé todas las formas y ninguna de ellas funcionó.
finalmente tuve que cambiar el puerto adb y funcionó. Primero mata el servidor adb como se muestra a continuación:
adb kill-server
luego reinícielo usando otro puerto
adb -P 5038 start-server
fuente
Hice una construcción limpia usando el siguiente comando .. Sorprendentemente funcionó.
¡Ojalá alguien reciba ayuda!
fuente
En mi caso, cerca de cualquier línea, apareció un círculo rojo con una cruz y una línea roja con un mensaje: "No se encontró código ejecutable en la línea ..." como en Android Studio Gradle Breakpoint No se encontró código ejecutable en la línea .
Apareció un problema después de la actualización de
build.gradle
. Incluimos el soporte de Kotlin, por lo que varios métodos superaron los 64K. Líneas problemáticas:buildTypes { debug { minifyEnabled true
Cámbialos a:
buildTypes { debug { minifyEnabled false debuggable true
Luego sincronice un gradle con el botón "Sincronizar proyecto con archivos Gradle". Si después de reiniciar la aplicación, aparece un error: "Error: el número de referencias de métodos en un archivo .dex no puede exceder los 64K. Aprenda cómo resolver este problema en https://developer.android.com/tools/building/ multidex.html ", luego, como en El número de referencias de método en un archivo .dex no puede exceder los 64k API 17, agregue las siguientes líneas a
build.gradle
:android { defaultConfig { ... // Enabling multidex support. multiDexEnabled true } ... } dependencies { implementation 'com.android.support:multidex:1.0.2' }
ACTUALIZAR
De acuerdo con https://developer.android.com/studio/build/multidex.html, haga lo siguiente para habilitar el soporte multidex por debajo de Android 5.0. De lo contrario, no se iniciará en estos dispositivos.
Abra
AndroidManifest
y busque la etiqueta<application>
. Nearandroid:name=
es una referencia a una clase Application. Abra esta clase. Amplíe la clase de aplicación conMultiDexApplication
lo siguiente:public class MyApplication extends MultiDexApplication { ... }
Si no se estableció ninguna clase de aplicación, escriba así:
<application android:name="android.support.multidex.MultiDexApplication" > ... </application>
fuente
Asegúrese de habilitar el modo de desarrollador y la depuración de USB en el dispositivo o emulador. (Fácil de olvidar al configurar uno nuevo).
fuente
También debe tener Herramientas-> Android-> Habilitar integración ADB activa.
fuente
Pude solucionarlo yendo a Ejecutar -> Editar configuraciones, seleccionando mi proyecto, seleccionando la pestaña Depurador, luego cambiando 'Tipo de depuración' de 'Auto' a 'Dual':
fuente
Esto resolvió mi problema. Desinstale la aplicación del dispositivo y ejecútela nuevamente a través de Android Studio.
fuente
Para mí, sucedió cuando usé Proguard, así que al probar todas las soluciones, limpié mi proyecto y presioné el botón de depuración en Android Studio y comenzó a depurar
fuente
En mi caso, tuve que eliminar el proguard en el tipo de compilación de depuración borrando completamente el archivo de texto
proguard-rules.pro
yminifyEnabled false
creando el archivo build.gradledebug { debuggable true minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }
fuente
<application android:debuggable="true"> </application>
Ese código anterior ya no es una solución. Debe habilitar la depuración dentro de su archivo build.gradle. Si tiene diferentes tipos de compilación, asegúrese de establecer "debuggable true" en uno de los tipos de compilación. Aquí hay un código de muestra de uno de mis proyectos.
buildTypes { debug { debuggable true } release { debuggable false } }
** He eliminado otras líneas dentro de buildTypes que no son relevantes para esta pregunta de mi archivo gradle aquí.
También asegúrese de seleccionar la variante de compilación correcta en su estudio de Android mientras realiza la depuración.
fuente
A lo largo de los años, he visitado este hilo muchas veces y siempre hubo una respuesta diferente que me ayudó. Esta vez me di cuenta de que era mi concentrador USB el que impedía que el depurador funcionara correctamente. Por extraño que parezca, en lugar de tener un teléfono conectado a mi computadora a través de un concentrador USB, tuve que conectarlo directamente a mi Mac y la depuración comenzó a funcionar.
fuente
En mi caso, olvidé minifyEnabled = true y shrinkResources = true en mi debug buildType. Cambio estos valores a falso, ¡ha funcionado de nuevo!
fuente
Aquí hay un pequeño error que puede atrapar algunos: es bastante fácil tener accidentalmente un filtro escrito para la ventana de salida de logcat (el cuadro de texto con la lupa) y olvidarse de él. Eso que potencialmente filtrará toda la salida y hará que parezca que no hay nada allí.
fuente
En mi caso tuve el mismo problema porque intento depurar apk firmado. En mi configuración de gradle hice diferentes variantes de compilación e intenté depurar la compilación de lanzamiento con la producción keystore.jks
fuente
Lo que funcionó para mí en Android Studio 3.2.1
Estaba:
RUN -> Attach debugger to Android Process --> com.my app
fuente
Reinicie el servidor adb, desde Android Studio: Herramientas -> " Conexión de dispositivo de resolución de problemas "
fuente