Por alguna razón, tengo que ejecutar mi aplicación de Android en modo de lanzamiento. Tengo que ejecutar el código cuando ejecuto la aplicación tal como lo usamos en el modo de depuración. Mis puntos de quiebre no alcanzan cuando corro en modo de lanzamiento, he agregado android:debuggable="true"
en manifiesto. Todavía el punto de quiebre no está golpeando. Alguna ayuda.
Gracias de antemano
una vez2go
En su archivo Gradle, debe agregar la capacidad de depuración en su versión de versión.
buildTypes {
release {
debuggable true
minifyEnabled false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
debug {
debuggable true
minifyEnabled false
applicationIdSuffix '.debug'
}
}
signingConfig
es la configuración de lanzamiento, debe agregarse en el archivo gradle en el bloque android{}, algo como esto:
signingConfigs {
release {
keyAlias 'YourAppKey'
keyPassword 'somePassword'
storeFile file('appkeyfile.jks')
storePassword 'somePassword'
}
}
-
He agregado esto en mi build gradle. Pero no tengo un archivo signatureConfigs.release. mi firmaConfig es firmaConfigs.config. ¿Cómo puedo generar uno para el lanzamiento?
– Bazi Paleri
19 de noviembre de 2015 a las 11:41
-
He agregado todo esto y todavía mi punto de interrupción no está llegando. ¿Hay algo más que elimine el punto de interrupción en el código?
– Bazi Paleri
19 de noviembre de 2015 a las 12:04
-
¿Qué quieres decir con eliminar? Escriba la línea de código en su punto de interrupción
– una vez2go
19 de noviembre de 2015 a las 12:06
-
Puedes añadir
release { signingConfig signingConfigs.debug }
para firmar la compilación de la versión con su certificado de depuración.– Sr-IDE
1 de junio de 2018 a las 15:28
En mi caso, creé la configuración de depuración igual que la versión anterior y comencé a depurar. Significa que tiene que firmar la compilación en la versión de depuración también en la compilación gradle.
signingConfigs {
config {
keyAlias 'abc'
keyPassword 'xyz'
storeFile file('<<KEYSTORE-PATH>>.keystore')
storePassword 'password'
}
}
buildTypes {
debug {
debuggable true
signingConfig signingConfigs.config
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
Por lo tanto, tendrá el mismo signo que la compilación de lanzamiento y podrá depurar cuando se ejecute.
buildTypes {
release {
debuggable true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
feliz codificación. Marque esta respuesta … si ayuda … 🙂
-
Está ahí. Todavía no pego 🙁
– Bazi Paleri
19 de noviembre de 2015 a las 11:41
usman zafer
Unos céntimos para los recién llegados.
Si incluso después de agregar un verdadero depurable en el bloque de lanzamiento, sus puntos de depuración no se ven afectados.
Elimine el siguiente código del bloque de versión.
minifyEnabled true
shrinkResources true //remove resources
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
Marcin Orlowski
No hay “modo de lanzamiento”. A lo que te refieres es al tipo de construcción, lo que significa los pasos tomados durante la construcción (como minificar, etc.). Ajuste android:debuggable="true"
no ayudará automáticamente, porque cuando “Ejecuta” la aplicación en lugar de “Depurar”, no conecta el depurador, por lo que no se detendrá por ese motivo en particular.
Así que puedes
configure su compilación de depuración para que se produzca de la misma manera que la versión
Pero no está muy claro cuál es el razonamiento detrás de su necesidad y tengo la sensación de que está tratando de ir por el camino equivocado (es decir, la depuración generalmente no usa ProGuard, mientras que la compilación de versión sí lo es y ProGuard cambia el binario resultante para que sus puntos de interrupción de la fuente no lo hagan). realmente funciona de todos modos).
-
Necesito depurar un problema que solo afecta a las compilaciones de lanzamiento, lo que sugiere que es un error creado por un código reducido/ofuscado/optimizado. El problema no se observa en las variantes de depuración.
– kip2
1 de noviembre de 2019 a las 8:25
Creo que el argumento anterior de Marcin tiene sentido (al igual que hay situaciones que requieren la depuración de compilaciones de lanzamiento), así que aquí hay una ligera variación de las respuestas aceptadas que me funcionaron:
android {
...
buildTypes {
release {
shrinkResources false # this was key
minifyEnabled false # seems that it can't be set to true if shrinkResources is false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
Adaptado de la documentos oficiales
NOTA:
cuando me puse minifyEnabled true
se produjo el siguiente bloqueo al iniciar la aplicación:
java.lang.RuntimeException: Unable to instantiate application co.mycompany.app.MyApp: java.lang.ClassNotFoundException: Didn't find class "co.mycompany.app.MyApp" on path: DexPathList...
-
Necesito depurar un problema que solo afecta a las compilaciones de lanzamiento, lo que sugiere que es un error creado por un código reducido/ofuscado/optimizado. El problema no se observa en las variantes de depuración.
– kip2
1 de noviembre de 2019 a las 8:25