Xamarin.GooglePlayServices.Maps 42.1001.0 SupportMapFragment java.lang.NoClassDefFoundError - android

I recently updated my Xamarin.Android app to Google Play Services v42.1001.0. Without any other code changes, I noticed that when creating a SupportMapFragment, the output throws the following errors:
Rejecting re-init on previously-failed class java.lang.Class:
java.lang.NoClassDefFoundError: Failed resolution of:
Lcom/google/android/chimera/Fragment;
Further down the Stack-trace I see this:
Caused by: java.lang.ClassNotFoundException: Didn't find class
"com.google.android.chimera.Fragment" on path: DexPathList[[zip file
"/data/user_de/0/com.google.android.gms/app_chimera/m/00000006/DynamiteModulesB_GmsCore_prodmnc_alldpi_release.apk"],nativeLibraryDirectories=[/data/user_de/0/com.google.android.gms/app_chimera/m/00000006/n/armeabi-v7a,
/data/user_de/0/com.google.android.gms/app_chimera/m/00000006/n/armeabi,
/system/lib, /vendor/lib]]
As soon as I comment out the SupportMapFragment code, I no longer see this error.
I have:
Made sure I have the latest SDK and Build tools installed
Cleaned/Rebuilt the solution
Verified that my manifest file targets the proper API versions that are supported by the new Google Play Services libraries as per the release notes
It seems to only be happening with the SupportMapFragment. It's also worth noting that my application does use the Multi-Dex build setting.
What else should I try?

Related

app crashes with MapView if i use sdk 29 ------

I have a problem with MapView. My map was loaded correctly until I used "targetSdkVersion 19", but since I updated to "targetSdkVersion 29" every time I launch the map activity, the app crashes.
Can anyone tell me what the problem might be?
2019-08-29 17:04:05.679 29021-29119/mcsistemi.tentatavendita E/AndroidRuntime: FATAL EXCEPTION: Thread-8
Process: mcsistemi.tentatavendita, PID: 29021
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion;
at ce.b(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):3)
at cb.a(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):3)
at cd.a(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):14)
at com.google.maps.api.android.lib6.drd.ak.a(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):4)
at bf.a(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):22)
at bf.run(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):8)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.ProtocolVersion" on path: DexPathList[[zip file "/data/user_de/0/com.google.android.gms/app_chimera/m/000000c6/MapsDynamite.apk"],nativeLibraryDirectories=[/data/user_de/0/com.google.android.gms/app_chimera/m/000000c6/MapsDynamite.apk!/lib/arm64-v8a, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at ad.loadClass(:com.google.android.gms.dynamite_dynamiteloader#19056081#19.0.56 (100400-262933554):4)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at ce.b(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):3) 
at cb.a(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):3) 
at cd.a(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):14) 
at com.google.maps.api.android.lib6.drd.ak.a(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):4) 
at bf.a(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):22) 
at bf.run(:com.google.android.gms.dynamite_mapsdynamite#19056081#19.0.56 (100400-262933554):8) 
Add this under <application> tag in Manifest.xml
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
With Android 6.0, we removed support for the Apache HTTP client.
Beginning with Android 9, that library is removed from the
bootclasspath and is not available to apps by default.
To continue using the Apache HTTP client, apps that target Android 9
and above can add the above line to their AndroidManifest.xml:
Here is more info
by Google
Since you say it started after android sdk 29, the problem could also be from the fact that you haven't changed your mappings to the current androidx mappings in the layout file that bring up this problem
If there is a library call like android.support.v7.widget.CardView in your layout causing the problem, you must change it to androidx.cardview.widget.CardView in android X and sdk 29 upwards..
For more mappings and how its currently written in the layout files, kindly check this link for the other class mappings https://developer.android.com/jetpack/androidx/migrate/class-mappings

Class not found at run time though it's in apk file

I'm trying to run a program on the phone from android studio. It tries to send an email using javax.mail. When running under the debugger, see these errors in the debug console.
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/sun/mail/util/MailLogger;
at javax.mail.Session.initLogger(Session.java:261)
at javax.mail.Session.<init>(Session.java:245)
at javax.mail.Session.getDefaultInstance(Session.java:356)
at com.example.sendemail.GMailSender.<init>(GMailSender.java:53)
...
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sun.mail.util.MailLogger" on path: DexPathList[...]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at javax.mail.Session.initLogger(Session.java:261) 
...
The class com/sun/mail/util/MailLogger is present in the apk. Found this from 'Analyze APK' (image below). It's in classes.dex. Why isn't it found at run time?
Android Studio version 3.4.1
Android version on phone is 7.0

GCM push noti in Unity3d causes gms.iid.InstanceID classnotfound

I have made an Android plugin to use GCM in my Unity app. When I try to start the RegistrationIntentService (readymade example class from Android Developer Manual site), it causes a crash with the exception
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.iid.InstanceID" on path: DexPathList[[zip file "/data/app/com.ex.test-1/base.apk"],nativeLibraryDirectories=[/data/app/com.ex.test-1/lib/arm, /vendor/lib, /system/lib]]
I have imported the play-services-9.2.0.unitypackage, without any success. Any help?
For anyone who might want to look for this question answered, I found the solution. The InstanceID.class is not included in the play-services-9.2.0.unitypackage, so include the play-services-iid-9.0.2.aar in the Android -> Plugins folder.

Started using the new Firebase website and I am getting this error while testing the Android Authentication sample program

I am not able to connect my app with my firebase database and it is giving me this error while trying to sign up or sign in.
Please help me to fix this, I have installed
Google play services : 30
Google repository
Android support repository
SDK tools 25.1.6
05-20 09:36:07.325 13979-13995/com.android.reactions.firebaseapp E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" on path: DexPathList[dexElements=[zip file "/data/app/com.android.reactions.firebaseapp-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.android.reactions.firebaseapp-1, /vendor/lib, /system/lib]]
Alfonso from the Firebase team here. You can ignore the log E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" as a debug statement (due to a bug on play services we incorrectly log it as error) that does not explain the issue that you are having.
There may be an issue in other part of your code. Mind sharing more logs or a snippet of your code?
have you edit proguard-rules.pro ? add this following to your proguard-rules.pro
-keepattributes Signature
-keepclassmembers class com.yourapp.**{
*;
}
Enable **sign in ** provider in the firebase console ,
you can try enable Email/Password provider.
According to this post (Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor") that is a Firebase bug that does not affect the behaviour of your app.

RuntimeException: unable to instantiate application - Class not found?

I've been developing an app for some time now and have been deploying it straight to my device for testing. However, as the development is coming to a close, I've made the first version available on the google play store.
However, after downloading the app from the play store, it crashes immediately on startup. Fortunately android allows the end user to examine the stack trace, which appears as:
java.lang.RuntimeException: Unable to instantiate application com.jysoftware.jyapp.CustomApp:
java.lang.ClassNotFoundException: Didn't find class "com.jysoftware.jyapp.CustomApp"
on path: DexPathList[[zip file "/data/app/com.jysoftware.jyapp-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.jysoftware.jyapp-1, /vendor/lib, /system/lib]] .......
The ClassNotFound is the same class as referenced in my manifest as:
<application
android:name="com.jysoftware.jyapp.CustomApp"
....
</application>
Any ideas what could be causing this, or where I should start to look? I'm at a loss as to why this should work when it is directly deployed from eclipse but does not work when downloaded from the play store.

Categories

Resources