Issue with Android Build and Advertising ID Declaration After Updating to Codename One 7.0.138

47 views Asked by At

Codename One Team,

I recently updated my Codename One library to version 7.0.138 and encountered a problem when trying to publish my Android build to the Google Play Console. The console reported an error regarding the inclusion of the advertising ID in my build, prompting me to add it to the Google Play declarations.

To address this, I added the following command to my codenameone_settings.properties file:

codename1.arg.android.xpermissions=<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>

This seemed to resolve the issue with the Google Play Console. However, I've since encountered a runtime exception on Android devices that is not present in the simulator or on iOS devices. The exception is as follows:

java.lang.InstantiationException: java.lang.Class<u3.r0> cannot be instantiated

This occurs when calling the .getPropertyIndex().loadJSON() function on a DTO that is implemented from PropertyBusinessObject.

I've attempted to troubleshoot this issue by reviewing the property definitions in my DTO, but the error persists across various configurations, despite the app working as expected in the simulator and on iOS devices.

Could you provide any insights or guidance on how to resolve this exception? Is it possible that the changes made to address the advertising ID declaration could be affecting the Android build in unexpected ways?

Any assistance or suggestions you could offer would be greatly appreciated, as this issue is currently impacting the functionality of my app on Android devices.

Thank you for your time and help.

Adding more information:

My hints are:

codename1.android.keystore=C\:\\xxxxx\\xxxxx\\xxxxx\\Keychain.ks
codename1.android.keystoreAlias=xxxxx
codename1.android.keystorePassword=xxxxx
codename1.arg.android.debug=false
codename1.arg.android.multidex=true
codename1.arg.android.xpermissions=<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
codename1.arg.android.permission.ACCESS_BACKGROUND_LOCATION=true
codename1.arg.android.permission.ACCESS_COARSE_LOCATION=true
codename1.arg.android.permission.ACCESS_FINE_LOCATION=true
codename1.arg.android.permission.ACCESS_MOCK_LOCATION=true
codename1.arg.android.permission.READ_CONTACTS=true
codename1.arg.android.permission.WAKE_LOCK=true
codename1.arg.android.playService.gcm=true
codename1.arg.android.release=true

I don't know if the following information is relevant. Still, since I am introducing a chat in my app using the WebSocket server and LocalNotification I got the following permission added to the app:

android.permission.POST_NOTIFICATIONS
android.permission.RECEIVE_BOOT_COMPLETED
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE
com.google.android.gms.permission.AD_ID 
com.whosplays.app.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

Also, the com.whosplays.app.permission.C2D_MESSAGE had been removed.

More information

Log:

[EDT] 0:0:2,0 - Codename One revisions: 7dd4e7d08b3442d90959477ee52a5ae8c4361b29

[EDT] 0:0:2,3 - Exception: java.lang.InstantiationException - java.lang.Class<u3.m> cannot be instantiated
java.lang.InstantiationException: java.lang.Class<u3.m> cannot be instantiated
at java.lang.Class.newInstance(Native Method)
at c1.k.k(SourceFile:321)
at c1.k.i(SourceFile:30)
at t3.c.p(SourceFile:112)
at com.whosplays.app.ki.z0(SourceFile:55)
at com.whosplays.app.ki.h0(SourceFile:545)
at com.whosplays.app.uh.b(SourceFile:1)
at s1.a.d(SourceFile:17)
at com.whosplays.app.ki.f(SourceFile:10)
at com.whosplays.app.ki.a(SourceFile:3)
at k2.b.j(SourceFile:15)
at k2.b.i(SourceFile:71)
at f1.g.o(SourceFile:3)
at f1.e.S(SourceFile:11)
at com.whosplays.app.WhosPlaysStub.run(SourceFile:59)
at com.whosplays.app.WhosPlaysStub$a.run(SourceFile:17)
at z1.t.E(SourceFile:1)
at z1.t.o1(SourceFile:71)
at z1.t.c1(SourceFile:72)
at z1.p0.run(SourceFile:142)
at q0.b$a.run(SourceFile:3)
at java.lang.Thread.run(Thread.java:923)

Best regards, Oscar Naranjo

0

There are 0 answers