Sigo el advice para implementar el código de biblioteca independiente del dispositivo Android (¡no de la aplicación!) Para mis aplicaciones de Android en un proyecto separado "Código de biblioteca de Java". Esto hace que las pruebas sean más fáciles para mí, ya que puedo utilizar el diseño de proyecto maven estándar, el soporte de prueba Spring y los sistemas de construcción continua de la manera en que estoy acostumbrado. No quiero mezclar esto dentro de mi proyecto de la aplicación Android, aunque esto podría ser posible.Iniciar sesión en libs "Java Library Code" para aplicaciones de Android
Ahora me pregunto cómo implementar el registro en esta biblioteca. Como esta biblioteca se usará en el dispositivo Android, me gustaría ir con android.util.Log
. He añadido la dependencia followind a mi proyecto para obtener los desaparecidos Android paquetes/clases y dependencias:
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
Pero esta biblioteca contiene solo método de talón (similar a la android.jar dentro del androide-SDK), utilizando así android.util.Log
resultados en
java.lang.RuntimeException: Stub!
al ejecutar mis pruebas unitarias. ¿Cómo implemento el registro que funciona en el dispositivo Android pero no falla afuera (no espero que funcione, pero no debe fallar)?
Gracias por cualquier consejo
Klaus
Por ahora voy con la solución para detectar la excepción fuera androide pero la esperanza no es una solución mejor.
try {
Log.d("me", "hello");
} catch (RuntimeException re) {
// ignore failure outside android
}
¡Esto funciona bien! Ahora usará java.util.logging la primera vez después de tantos años de desarrollo de Java ...... – FrVaBe