Cómo depurar el módulo de la biblioteca android en Android Studio?
Tengo un proyecto de Android Studio que contiene un módulo de biblioteca, que se agrega como otro proyecto de gradle a la misma. Quisiera depurar el código de la biblioteca y fijar puntos de interrupción en él.
¿Qué configuración de gradle debo utilizar, si quiero depurar un módulo de biblioteca mientras se ejecuta la aplicación en el emulador o dispositivo real?
- ¿Cómo puede obtener la dirección de correo electrónico de un usuario de Android?
- Cómo subir imagen de mapa de bits desde un dispositivo Android?
- BitmapFactory: No se puede descodificar la secuencia: java.io.FileNotFoundException incluso cuando el archivo IS está realmente allí
- Error de Android Studio FloatingActionButton
- No se puede usar Runtime.exec () para ejecutar el comando shell "echo" en el código Java de Android
Actualización 1
Este es el archivo settings.gradle:
include ':app' include':my-library'
- Samsung Galaxy 7 "(GT-P6210) no detecta la depuración USB?
- Algoritmo para generar patrones de vibración que van en intensidad en Android?
- Handler es abstracto, no se puede instanciar
- Retrofit 2.0 java.lang.IllegalStateException: Se esperaba BEGIN_ARRAY pero era STRING
- Gson serializar a LinkedTreeMap en lugar de mi Entidad
- Android: ¿abro un recurso de archivo cada vez que quiero iniciar sesión
- Cómo utilizar HdmiControlService
- Quitar la carpeta v7 appcompat
Después de algunos días luchando encontré la configuración correcta para poder depurar el módulo de la biblioteca:
1- Crear un proyecto que consta de dos módulos, la aplicación y el módulo-biblioteca
2- Agregue la dependencia directa del módulo a la app
, desde el library-module
. Esto es lo que build.gradle de la app
:
compile project(':library-module')
3- Eliminar cualquier configuración de firma automática agregada en la app
build.gradle
4- Retire estas líneas de la app
y library-module
minifyEnabled true shrinkResources true
Configurar el tipo de compilación Debug y Release del módulo de biblioteca para debuggable
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' debuggable true jniDebuggable true } debug { debuggable true jniDebuggable true minifyEnabled false } }
Estoy utilizando esta configuración para depurar mis bibliotecas:
|- myApplication | |- settigs.gradle | |- build.gradle | ... |- myLibrary |- build.gradle ...
Agregar a settings.gradle:
include ':myLibrary' project(':myLibrary').projectDir = new File(settingsDir, '../myLibrary')
Agregue a build.gradle (de su aplicación)
compile project(':myLibrary')
Su biblioteca se incluye simplemente y puede depurar y establecer puntos de interrupción como en la aplicación.
- ¿Cómo llamarías un método de todas las instancias de una clase?
- ¿Qué sucede exactamente cuando se quita una tarea de los últimos?