android API 29 issue

I also updated OneSignal plugin for the latest build.

Anyway. If you still have some unresolved issues please let me know. I will fix them swiftly. I just updated OneSignal plugin so it uses latest SDK and I confirmed with one of the users that it works.

@vlads, This issue in 3607 also broke notifications.v2 and I can no longer create builds of our apps. Building with 3606 works, 3607 is broken, confirmed. Can you please resolve asap?

On my Android 9 device…
Runtime Error:
java.lang.illegalArgumentException: Please set your project ID. A valid Firebase project ID is required to communicate with Firebase server APIs: It identifies your project with Google.

2 Likes

I use 3606 to build but the latest one gives error with the Appodeal SDK when Admob is enabled. When disabling it, I can build though.

Sounds like this reported issue : https://github.com/coronalabs/corona/issues/111

i am also facing this notification problem on 2020.3609
can’t get notification token, and will throw an eror about firebase id.

app id

	08-15 20:30:23.282  1805  1841 I Corona  : ERROR: Runtime error
	08-15 20:30:23.282  1805  1841 I Corona  : java.lang.IllegalArgumentException: Please set your project ID. A valid Firebase project ID is required to communicate with Firebase server APIs: It identifies your project with Google.
	08-15 20:30:23.282  1805  1841 I Corona  : Java Stack Trace:
	08-15 20:30:23.282  1805  1841 I Corona  :      com.google.android.gms.common.internal.Preconditions.checkNotEmpty(com.google.android.gms:play-services-basement@@17.3.0:8)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.google.firebase.iid.FirebaseInstanceId.checkRequiredFirebaseOptions(com.google.firebase:firebase-iid@@20.2.3:52)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.google.firebase.iid.FirebaseInstanceId.getInstance(com.google.firebase:firebase-iid@@20.2.3:2)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.google.firebase.iid.FirebaseInstanceId.getInstance(com.google.firebase:firebase-iid@@20.2.3:1)
	08-15 20:30:23.282  1805  1841 I Corona  :      plugin.notifications.v2.LuaLoader$GetDeviceToken.invoke(LuaLoader.java:292)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.ansca.corona.JavaToNativeShim.nativeKeyEvent(Native Method)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.ansca.corona.JavaToNativeShim.keyEvent(JavaToNativeShim.java:489)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.ansca.corona.input.RaiseKeyEventTask.executeUsing(RaiseKeyEventTask.java:68)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.ansca.corona.CoronaRuntimeTaskDispatcher$TaskEvent.Send(CoronaRuntimeTaskDispatcher.java:179)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.ansca.corona.events.EventManager.sendEvents(EventManager.java:100)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.ansca.corona.Controller.updateRuntimeState(Controller.java:319)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.ansca.corona.graphics.opengl.CoronaGLSurfaceView$CoronaRenderer.onDrawFrame(CoronaGLSurfaceView.java:434)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1625)
	08-15 20:30:23.282  1805  1841 I Corona  :      com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1380)

Yes, exactly. This notifications.v2 broken has a dedicated issue here: builds 3607, 3608 and 3609 broken

Vlad has already responded that he’s working on it.

Hello.
It seems that Google added a new value to google-services.json. Make sure to use build 3610+ enable google-services.json in build settings android.useGoogleServicesJson = true and ensure the json file itself contains project_id value.

same issue on admob. I can build with minSdkVersion = “16”, but the apk crash

With the build 3610 I still have the issue :
ava.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException:



at android.app.ActivityThread.installProvider(ActivityThread.java:6591)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6079)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5985)
at android.app.ActivityThread.access$1200(ActivityThread.java:201)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1679)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6864)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

Caused by: java.lang.IllegalStateException:



at com.google.android.gms.internal.ads.zzza.attachInfo(com.google.android.gms:play-services-ads-lite@@19.3.0:33)
at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(com.google.android.gms:play-services-ads-lite@@19.3.0:3)
at android.app.ActivityThread.installProvider(ActivityThread.java:6586)
... 10 more

I tried with the build 3610 but I got the same error:

Transform artifact play-services-measurement-sdk-16.5.0.aar (com.google.android.gms:play-services-measurement-sdk:16.5.0) with DexingWithClasspathTransform
AGPBI: {“kind”:“error”,“text”:“Type com.google.android.gms.measurement.internal.zzgn is referenced as an interface from com.google.android.gms.measurement.internal.AppMeasurementDynamiteService$zza.”,“sources”:[{}],“tool”:“D8”}

                > Transform artifact play-services-measurement-api-16.5.0.aar (com.google.android.gms:play-services-measurement-api:16.5.0) with DexingWithClasspathTransform
                AGPBI: {"kind":"error","text":"Type com.google.android.gms.measurement.internal.zzgn is referenced as an interface from `com.google.android.gms.measurement.AppMeasurement$OnEventListener(classpath class)`.","sources":[{}],"tool":"D8"}
                
                FAILURE: Build failed with an exception.
                
                * What went wrong:
                Execution failed for task ':App:checkReleaseDuplicateClasses'.
                > 1 exception was raised by workers:
                  java.lang.RuntimeException: Duplicate class com.google.android.gms.internal.measurement.zzbv found in modules jetified-play-services-measurement-16.5.0-runtime.jar (com.google.android.gms:play-services-measurement:16.5.0) and play-services-measurement-base-17.1.0-runtime.jar (com.google.android.gms:play-services-measurement-base:17.1.0)
                  Duplicate class com.google.android.gms.internal.measurement.zzbw found in modules jetified-play-services-measurement-16.5.0-runtime.jar (com.google.android.gms:play-services-measurement:16.5.0) and play-services-measurement-base-17.1.0-runtime.jar (com.google.android.gms:play-services-measurement-base:17.1.0)

I already had project_id in google-services.json and useGoogleServicesJson in build.settings was set to true. However, I downloaded google-services.json file again. Added minSdkVersion = “16” too. None of the builds worked. Only if I disable Appodeal’s Admob on build.settings, I can successfully build.

Have the same problem with 2020.3635 version Solar

upd:
changed in build settings from [“plugin.appodeal”] and [“plugin.appodealAdaptersA”] by com.cabagomez to
[‘plugin.appodeal.base’] = { publisherId = ‘com.coronalabs’ },
[‘plugin.appodeal.GoogleAdMob’] = { publisherId = ‘com.coronalabs’ },
[‘plugin.appodeal.StartApp’] = { publisherId = ‘com.coronalabs’ },
[‘plugin.appodeal.Unity’] = { publisherId = ‘com.coronalabs’ },
[‘plugin.appodeal.Yandex’] = { publisherId = ‘com.coronalabs’ },

then got the error
AGPBI: {“kind”:“error”,“text”:“Default interface methods are only supported starting with Android N (–min-api 24): void com.google.android.exoplayer2.Player$EventListener.onIsPlayingChanged(boolean)”,“sources”:[{}],“tool”:“D8”} FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ‘:App:mergeDexRelease’. > Could not resolve all files for configuration ‘:App:releaseRuntimeClasspath’. > Failed to transform exoplayer-core-2.11.7.aar (com.google.android.exoplayer:exoplayer-core:2.11.7) to match attributes {artifactType=android-dex, dexing-enable-desugaring=false, dexing-is-debuggable=false, dexing-min-sdk=16, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}. > Execution failed for DexingNoClasspathTransform: /Users/alexey/.gradle/caches/transforms-2/files-2.1/eb66c4ac2bcc3f20425f39b6e35c8508/jetified-exoplayer-core-2.11.7-runtime.jar.

after that I messaged Vlad and he helped me

Need to create folder AndroidResources in project folder if you haven’t had yet
then create corona.gradle file

inside the file:

android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility ‘1.8’
targetCompatibility ‘1.8’
}
}

That’s all. Appodeal with Admob will work!

upd: upd:
Guys, please write about your errors and solutions. It can help somebody to solve the problem faster in the future.

Share my case.

  • build on MacBook.(“Big Sur” updated)
  • Using Solar2D.3637
  • 256 error occurs when using the official Appodeal plugin.

[my solution]

  • I created the “corona.gradle” file with the following contents in the "My Project \ AndroidResources \ " folder.

    android {
    compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
    }
    }

what is the actual error? A few lines above that error you should see a text that explains what the error is.

reproduce text

Feb 26 14:32:10.023 Using openjdk version "1.8.0_242-release"
                OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
                OpenJDK 64-Bit Server VM (build 25.242-b3-6915495, mixed mode)
Feb 26 14:32:12.851 Using openjdk version "1.8.0_242-release"
                OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
                OpenJDK 64-Bit Server VM (build 25.242-b3-6915495, mixed mode)
Feb 26 14:32:16.080 BUILD SUCCESSFUL
                Total time: 2 seconds
Feb 26 14:33:08.581 AGPBI: {"kind":"error","text":"Invoke-customs are only supported starting with Android O (--min-api 26)","sources":[{}],"tool":"D8"}
                AGPBI: {"kind":"error","text":"Default interface methods are only supported starting with Android N (--min-api 24): void com.criteo.publisher.CriteoAdListener.onAdClicked()","sources":[{}],"tool":"D8"}
                AGPBI: {"kind":"error","text":"Default interface methods are only supported starting with Android N (--min-api 24): void com.google.android.exoplayer2.Player$EventListener.onIsPlayingChanged(boolean)","sources":[{}],"tool":"D8"}
                
                FAILURE: Build failed with an exception.
                
                * What went wrong:
                Execution failed for task ':App:mergeDexRelease'.
                > Could not resolve all files for configuration ':App:releaseRuntimeClasspath'.
                   > Failed to transform ads.networks.criteo-1.6.1.6.aar (io.bidmachine:ads.networks.criteo:1.6.1.6) to match attributes {artifactType=android-dex, dexing-enable-desugaring=false, dexing-is-debuggable=false, dexing-min-sdk=16, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
                      > Execution failed for DexingNoClasspathTransform: /Users/myname/.gradle/caches/transforms-2/files-2.1/394ae0e3eef74bb0504401292e25cce4/ads.networks.criteo-1.6.1.6-runtime.jar.
                         > Error while dexing.
                           The dependency contains Java 8 bytecode. Please enable desugaring by adding the following to build.gradle
                           android {
                               compileOptions {
                                   sourceCompatibility 1.8
                                   targetCompatibility 1.8
                               }
                           }
                           See https://developer.android.com/studio/write/java8-support.html for details. Alternatively, increase the minSdkVersion to 26 or above.
                
                   > Failed to transform exoplayer-core-2.11.7.aar (com.google.android.exoplayer:exoplayer-core:2.11.7) to match attributes {artifactType=android-dex, dexing-enable-desugaring=false, dexing-is-debuggable=false, dexing-min-sdk=16, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
                      > Execution failed for DexingNoClasspathTransform: /Users/myname/.gradle/caches/transforms-2/files-2.1/b25e5f7242714a0667329671ce69570f/jetified-exoplayer-core-2.11.7-runtime.jar.
                         > Error while dexing.
                   > Failed to transform criteo-publisher-sdk-4.0.0.aar (com.criteo.publisher:criteo-publisher-sdk:4.0.0) to match attributes {artifactType=android-dex, dexing-enable-desugaring=false, dexing-is-debuggable=false, dexing-min-sdk=16, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
                      > Execution failed for DexingNoClasspathTransform: /Users/myname/.gradle/caches/transforms-2/files-2.1/967944fe0946975fb9f82eabd44c420b/criteo-publisher-sdk-4.0.0-runtime.jar.
                         > Error while dexing.
                
                * Try:
                Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
                
                * Get more help at https://help.gradle.org
                
                BUILD FAILED in 51s
Feb 26 14:33:09.582 Android build failed (256) after 56 seconds
Feb 26 14:33:09.982 ERROR: Build Failed: Error code: 256
Feb 26 14:33:09.982

If you don’t have AndroidResources at the root of your project create it.
If you don’t have the file corona.gradle in that folder create it.

Add this to the top of your corona.gradle as the error suggests:

android {
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}

Thanks! I solved it that way.

@agramonte, I came across your reply here. In what case would I need this corona.gradle file? Currently, I have an AndroidResources folder with numerous other folders that hold a PNG file in each. Nothing else.

The uses for corona.gradle are really many. It is just a gradle file that gets added to the build. Why do you ask? Are you having a problem with something?

No issues here, just wondered if I should do something to accommodate it

Have the same problem with 2020.3635 version Solar..