QUESTION: New STABILITY errors after build upload!

I have uploaded a new bundle to test an update and get a lot of stability errors with the automatic app test from the console:
the new version automatic online check is now having errors for “stability” showing this error:
at androidx.profileinstaller.ProfileVerifier.writeProfileVerification(Unknown Source:0)

Any ideas / help on how to fix this? I did use the build 3695 of Solar2D.

What makes this tricky is I also can not test the new uploaded bundle because of another problem with the console. So I have no idea if it runs on my device.

Thanks for your help!

1 Like

Yeaaaa … very frustrating
No code change, no Solar2d version change, previously worked …
now out of blue … a crash

AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/concurrent/futures/AbstractResolvableFuture;
AndroidRuntime:        at androidx.profileinstaller.ProfileVerifier.writeProfileVerification(Unknown Source:0)

for the 100th time, I say Solar2d weakness is that sub-tools don’t get frozen.
if I use version XYZ of Solar2d then nothing should change unless I proactively do so.
current situation is a mess. A plugin push from yesterday will find its way to my build without me doing anything, it’s like living on bleeding edge of the code, like using nightly builds of Solar 2d

3 Likes

I believe this was discussed(and can be prevented since 2022.3684?) but the documentation is missing. Maybe @XeduR, @solares or @vlads can help you with this.

1 Like

Thank you for this information. I think this will happen to a lot of people then right now.
Hope they check the forums.

if I build with solar2d version 1.2.3 a year from now and my build.settings is still the same, then I should get the same result.

A release of solar2d should correspond to default/fixed version of the subtools ( plugins ). Otherwise every time you build you need to check everything.

I should knowingly move to newer solar2d version or override the plugin version by editing build.settings.

Stability should be the default.

1 Like

d.mach did you solve the writeProfileVerification exception ?
it happens all the time, simply by running the app and waiting for a few seconds.

You can freeze the versions of all of your plugins. It’s a bit of a slog to set it up the first time, but it’s fantastic because you don’t get nasty surprises when you build.

In your build settings, you just add version = "v[set stable version number here]", to your plugins and then they won’t automatically update when a new version is published, allowing you to choose when to update any given plugin.

So, here’s an example using AdMob:

["plugin.admob"] =
{
publisherId = "com.coronalabs",
version = "v23",
},

All the version information is available in the plugin’s directory. Just search each one of your plugins and tap on the date next to “Updated:” to go to the Git repository where you can see all the versions. Lock them at the current version if they’re working, or roll back to the previous working version if they’re not.

Works like a charm!

5 Likes

That’s wizardry ! Thanks a lot for this tip , I’ll try to adopt this approach from now. hope all plugins I use support this.

@d.mach Meanwhile I found the offending plugin ( Admob ) - by removing it from build.settings the crash disappears.

Then using @colinmorgan I found v30 to be the first to crash. That’s weird cause a week ago I was using more recent version without a problem.

Admob v30 comment says Google UMP Form.

@Scott_Harrison

adding Admob causes this crash in runtime:

NoClassDefFoundError: Failed resolution of: Landroidx/concurrent/futures/AbstractResolvableFuture

Last week Admob worked like a charm, so I tried rolling back to older Admob version, but surprisingly even version from last week didn’t work. eventually I rolled back to v29 to get it to not crash.

v30 commit has this related code change :

implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' // Googles ducktape solution
	//^https://stackoverflow.com/questions/56639529/duplicate-class-com-google-common-util-concurrent-listenablefuture-found-in-modu

What solar2d version are you using?

1 Like

@Scott_Harrison

3692 works. later versions have this crash.

  1. I’m sure a couple days ago later versions worked too
  2. now to use later versions, I have to either remove admob or roll back to older version ( v29 )

Yesterday I did delete these two folders ( ~/Solar2DPlugins and ~/Library/Application Support/Corona/Simulator ) so I thought this might caused the problem, but then again 3692 still works.

Could that have broken something ?

Finally a progress that points to the source of the problem,

@Scott_Harrison , to replicate the problem:

1- create a new blank app using Solar2d 2023.3696
2- add admob AND unity 4 to build.settings

	plugins =
	{
		["plugin.admob"] = { publisherId = "com.coronalabs" },
		["plugin.unityads.v4"] = { publisherId = "com.solar2d" },
	},

and

		applicationChildElements =
        {
            [[
                <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID"
                    android:value="ca-app-pub-xxxxxx"/>
            ]],
        },
  1. run on device , wait a few seconds and observe the crash on the console

NoClassDefFoundError: Failed resolution of: Landroidx/concurrent/futures/AbstractResolvableFuture

4, if I remove either plugin , admob or unity4 the crash disappears .

please Scott work your magic :smiley:

Now, I can say that v12 of unity4 plugin (released a few days ago) is when this problem starts.
v12+ unity plugin cannot work with admob plugin.

1 Like

Thanks for all the info on this and getting into detail! Much appreciated!
… and please Scott work your magic :slight_smile:

Should be fixed, please rebuild

Thanks for your help! Much appreciated!

Hi everybody,

Can you tell me how did you fix this issue, i am having the same error. These are the plugins i’am using:

plugins =
    {
        ["plugin.OneSignal"] = { publisherId = "com.onesignal" },
        ["plugin.notifications"] = { publisherId = "com.coronalabs" },
        ["plugin.admob"] = { publisherId = "com.coronalabs" },
        ["CoronaProvider.native.popup.social"] = { publisherId = "com.coronalabs" }
    }, 

Thanks.

I’m getting the same issue as everyone here. Happening with the latest build 3699.

I’m also using Unity Ads V4 and Admob plugins.

Anyone have an update on any other plugins that could be causing this and a fix?

I also use:

plugin.utf8
plugin.batteryState
plugin.att
plugin.admob
plugin.unityads.v4
CoronaProvider.native.popup.social
plugin.pasteboard
plugin.flurry.analytics
CoronaProvider.native.popup.activity
plugin.OneSignal
plugin.notifications.v2
plugin.google.iap.billing.v2
plugin.reviewPopUp

Update: I narrowed it down to unityadsv4 and admob plugins causing the error/crash.

Just like the above people mentioned, having only 1 of them is ok. But when you add both it gives the error.

Even just including it in build.settings causes it.

Is nobody else getting this issue on Android devices?

Will take a look

Yes, i tested it and it’s literally what you are saying. The app crashes if Admob and Unityads are the two in the build. When i build with only admob eveything it’s fine

1 Like