Publicado en Android

Moshi+Retrofit Error, Caused by: java.lang.IllegalArgumentException: Platform class java.util.Date (with no annotations) requires explicit JsonAdapter to be registered


Si se ua Moshi como libraria de parsear json en Retrofit, en caso de tener un campo de tipo Date, al compilar arroja el siguiente error

W/System.err: java.lang.IllegalArgumentException: Unable to create converter for java.util.List
W/System.err: Caused by: java.lang.IllegalArgumentException: Platform class java.util.Date (with no annotations) requires explicit JsonAdapter to be registered

Sigue leyendo “Moshi+Retrofit Error, Caused by: java.lang.IllegalArgumentException: Platform class java.util.Date (with no annotations) requires explicit JsonAdapter to be registered”
Publicado en Android

I/Ads: Ad failed to load : 0


Despues de implementar la plataforma de anuncios AdMob de google, si se debuga en modo release al realizar la carga del anuncio, puede mostrarnos en logcat el siguiente error

I/Ads: Ad failed to load : 0

Solución

Esperar un tiempo hasta que todo este configurado por parte de Google dentro de la plataforma AdMob, verifique si tiene los datos de pago rellenados

extraido de: https://stackoverflow.com/questions/38378002/admob-ads-not-loading-failed-to-load-ad-0

Publicado en Android

Error Unable to instantiate fragment androidx.navigation.fragment.NavHostFragment: make sure class name exists


Usando Navigation Comopent con el contenedor FragmentContainerView en versión release de la app se puede recibir el siguiente error

Error Unable to instantiate fragment androidx.navigation.fragment.NavHostFragment: make sure class name exists

Log error entero:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.webserveis.mqtthomepresence/com.webserveis.mqtthomepresence.MainActivity}: android.view.InflateException: Binary XML file line #32 in
    Caused by: android.view.InflateException: Binary XML file line #32 in com.webserveis.mqtthomepresence:layout/activity_main: Binary XML file line #11 in com.webserveis.mqtthomepresence:layout/content_main: Error inflating class androidx.fragment.app.FragmentContainerView
    Caused by: android.view.InflateException: Binary XML file line #11 in com.webserveis.mqtthomepresence:layout/content_main: Error inflating class androidx.fragment.app.FragmentContainerView
    Caused by: androidx.fragment.app.Fragment$e: Unable to instantiate fragment androidx.navigation.fragment.NavHostFragment: make sure class name exists

    Caused by: java.lang.ClassNotFoundException: androidx.navigation.fragment.NavHostFragment

    Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.navigation.fragment.NavHostFragment" on path: DexPathList[[zip file "/data/app/com.webserveis.mqtthomepresence-vwfs3OIb6HVkt8eRncOp9g==/base.apk"],nativeLibraryDirectories=[/data/app/com.webserveis.mqtthomepresence-vwfs3OIb6HVkt8eRncOp9g==/lib/arm64, /system/lib64, /system/product/lib64]]

Buscando por SO, eso suele pasar cuando se implementa ofuscar el código usando minifyEnabled = true

Solución

La solución es añadir en proguard una directiva keep en el archivo proguard-rules.pro

-keep class * extends androidx.fragment.app.Fragment{}