adil hussein
Tengo un APK de lanzamiento que he firmado, subido a Google Play e instalado en mi dispositivo Android. Me gustaría depurar este APK (por medio de Android Studio o Eclipse) mientras se ejecuta en mi dispositivo Android. He hecho esto antes y recuerdo que fue con una de las herramientas de desarrollo de Android (quizás Dalvik Debug Monitor). Lamentablemente, no recuerdo cómo hacerlo y no he podido encontrar ningún artículo en línea. ¿Alguien sabe cómo puedo hacer esto?
notas
- Yo he puesto
android:debuggable="true"
en el archivo de manifiesto de la aplicación. - He habilitado la depuración de USB en mi dispositivo Android.
Manuel Lopera
Sé que esta es una pregunta antigua, pero referencias futuras. En Android Studio con Gradle:
buildTypes {
release {
debuggable true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
La línea debuggable true
fue el truco para mí.
Antes de Gradle 1.0 era runProguard
en lugar de minifyEnabled
. Mira a aquí.
-
Tenga en cuenta que a partir de gradle 1.0 es minifyEnabled en lugar de correrProguard – ver tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0
– m02ph3u5
11/11/2015 a las 16:35
-
Como nota a esta respuesta actual, yo mismo evitaría enviar una versión depurable a la tienda Google Play, y es posible que no le permita como en el caso de hasnain_ahmad en la respuesta obsoleta anterior. Solo hacerlo temporalmente para probar un problema de lanzamiento descargado de la tienda, como el seguimiento del código de compra en la aplicación, sería menos riesgoso. También puede intentar trabajar con la pista beta (no sé si esto puede dar el mismo error que recibió Hasnian) o transferir el apk de compilación de lanzamiento a su teléfono desde su computadora para evitar problemas de seguridad (lidiar con el paquete es más complicado ).
– Androidcodificador
29 sep 2019 a las 13:35
-
Eso ya no parece funcionar (cuando
debuggable
se establece entrue
, el comunicado no está firmado). stackoverflow.com/a/66622555/1720199– cglacet
13 de julio de 2022 a las 8:52
sam dozor
Estar seguro de que android:debuggable="true"
se establece en el application
etiqueta de su archivo de manifiesto, y luego:
- Conecte su teléfono a su computadora y habilite la depuración USB en el teléfono
- Abra Eclipse y un espacio de trabajo que contenga el código de su aplicación.
- En Eclipse, vaya a Ventana->Mostrar vista->Dispositivos
- Mire la vista Dispositivos que ahora debería estar visible, debería ver su dispositivo en la lista
- Si su dispositivo no está en la lista, deberá buscar los controladores ADB para su teléfono antes de continuar.
- Si desea recorrer paso a paso el código, establezca un punto de interrupción en algún lugar de su aplicación
- Abre la aplicación en tu teléfono
- En la vista Dispositivos, expanda la entrada de su teléfono si aún no está expandida y busque el nombre del paquete de su aplicación.
- Haga clic en el nombre del paquete y, en la parte superior derecha de la vista Dispositivos, debería ver un error verde junto con otros botones pequeños. Haz clic en el insecto verde.
- Ahora deberías estar adjuntando/depurando tu aplicación.
-
Subí al paso 8, pero por algún motivo, el nombre del paquete de mi aplicación no aparece cuando estoy ejecutando el apk firmado/liberado. (Extrañamente, se muestra cuando ejecuto la aplicación (apk de depuración) en mi teléfono directamente desde Eclipse). Confundido…
–Adil Hussein
31 de enero de 2012 a las 16:18
-
¡Entiendo! había puesto el
android:debuggable="true"
atributo en elmanifest
etiqueta en lugar de laapplication
¡etiqueta dentro del manifiesto! Mi error 🙁 Muchas gracias Sam_D por tu orientación. ¡No lo habría hecho sin ti o, en el mejor de los casos, me habría llevado muchísimo tiempo!–Adil Hussein
31 de enero de 2012 a las 16:25
-
Cuando agrego la palabra clave depurable en build.gradle y quiero publicar en Play Store, muestra este error
You uploaded a debuggable APK. For security reasons you need to disable debugging before it can be published in Google Play.
– hasnain_ahmad
23 de abril de 2018 a las 11:46
-
Esta respuesta está muy desactualizada. En lugar de
androidManifest.xml
deberías actualizarbuild.gradle
. Ver otras respuestas.– Antimonito
16 de enero de 2019 a las 12:19
-
@hasnain_ahmad ¿Pudiste encontrar una solución para esto?
– Shashank Saxena
22 de julio de 2019 a las 8:05
Además de la manera de Manuel, todavía puedes usar el Manifiesto.
En Android Studio estable, debe agregar las siguientes 2 líneas a application
en el AndroidManifest
archivo:
android:debuggable="true"
tools:ignore="HardcodedDebugMode"
El primero permitirá la depuración de APK firmados y el segundo evitará errores en tiempo de compilación.
Después de esto, puede adjuntar al proceso a través del botón “Adjuntar depurador al proceso de Android”.
-
@jaibatrik tiene que ser tu apk y tienes que adjuntar el depurador de las fuentes. si está haciendo ambas cosas y aún no funciona, comparta más información y puedo intentar ayudar
– sandalone
19 de junio de 2016 a las 20:14
-
Obtuve “[Fatal Error] :7:203: El prefijo “herramientas” para el atributo “herramientas: ignorar” asociado con un tipo de elemento “aplicación” no está vinculado”. ¿Herramientas: ignorar = “HardcodedDebugMode” es una configuración legítima aquí?
– JD
28 de abril de 2017 a las 3:03
-
tuve que agregar
lintOptions { abortOnError false }
en mi app/build.grade en lugar de usartools:ignore
al igual que:android { lintOptions: { abortOnError false } }
– YoshiJaeger
24 de noviembre de 2019 a las 13:33
-
obtuve
The prefix "tools" for attribute "tools:ignore" associated with an element type "application" is not bound.
!– Oliver D.
29 de noviembre de 2019 a las 17:09
Probé con lo siguiente y funcionó:
release {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
En caso de que hayas decidido la depuración. su apk que ya está en el mercado pero no está asignado para ser depurable y no desea volver a publicarlo. Así que siga los pasos a continuación;
- Descompilar el Apk con ApkTool(p.ej.
apktool d <APK_PATH>
) - Abra AndroidManifest.xml desde archivos descompilados
- Colocar
android:debuggable="true"
enapplication
etiqueta - Compile la fuente modificada con ApkTool (ej.
apktool b <MODIFIED_PATH>
) - Apk depurable listo (que sin firmar significa que no puede publicar la tienda). Puede depurar como desee.
Agregue lo siguiente a su aplicación build.gradle y seleccione la variante de compilación de versión especificada y ejecute
signingConfigs {
config {
keyAlias 'keyalias'
keyPassword 'keypwd'
storeFile file('<<KEYSTORE-PATH>>.keystore')
storePassword 'pwd'
}
}
buildTypes {
release {
debuggable true
signingConfig signingConfigs.config
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
Agregar debuggable true
en release
en buildTypes
y encienda ‘liberar’ en la parte inferior izquierda Build Variants
en el estudio de Android Fuente: https://mobikul.com/release-variant-of-app-enable-logcat-running-release-build-application/
¡Me funciona! ¿Puedes probarlo?
¿Qué estás intentando actualmente? ¿No sabes cómo usar la Vista de Dispositivos en Eclipse?
– Sam Dorzor
31 de enero de 2012 a las 15:32
Ahora tengo la vista Dispositivos que se muestra en Eclipse. Puedo ver mi dispositivo en la lista de Dispositivos. Hago clic en él, pero el botón “Depurar el proceso seleccionado” está deshabilitado a pesar de que la aplicación se ejecuta en el teléfono y el proyecto de origen está presente y abierto en el espacio de trabajo. ¡¿Algunas ideas?!
–Adil Hussein
31 de enero de 2012 a las 15:43
¿Está haciendo clic en el nombre del paquete para su aplicación?
– Sam Dorzor
31 de enero de 2012 a las 15:48
Sí. Ver comentario en tu respuesta. (Gracias por la ayuda por cierto. Se lo agradezco.)
–Adil Hussein
31 de enero de 2012 a las 16:12