I had my build working in development mode but when I put my game in shipping mode, whenever I initialized google mobile ads, it would crash the game. After working on this issue for a week or so, I thought the issue might be an SDK version mismatch. After changing up my versions 34, I began getting this error while trying to package the game:
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Z:\app\src\main\java\com\google\android\vending\licensing\LicenseChecker.java:31: error: package com.android.vending.licensing does not exist
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): import com.android.vending.licensing.ILicenseResultListener;
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): ^
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): > Task :app:compileReleaseJavaWithJavac FAILED
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): The following annotation processors are not incremental: lifecycle-compiler-2.0.0.jar (androidx.lifecycle:lifecycle-compiler:2.0.0).
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Make sure all annotation processors are incremental to improve your build speed.
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Z:\app\src\main\java\com\google\android\vending\licensing\LicenseChecker.java:32: error: package com.android.vending.licensing does not exist
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): import com.android.vending.licensing.ILicensingService;
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): ^
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Z:\app\src\main\java\com\google\android\vending\licensing\LicenseChecker.java:70: error: cannot find symbol
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): private ILicensingService mService;
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): ^
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): symbol: class ILicensingService
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): location: class LicenseChecker
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Z:\app\src\main\java\com\google\android\vending\licensing\LicenseChecker.java:221: error: package ILicenseResultListener does not exist
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): private class ResultListener extends ILicenseResultListener.Stub {
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): ^
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): 4 errors
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): FAILURE: Build failed with an exception.
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): * What went wrong:
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Execution failed for task ‘:app:compileReleaseJavaWithJavac’.
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): > Compilation failed; see the compiler error output for details.
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): * Try:
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): > Run with --stacktrace option to get the stack trace.
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): > Run with --info or --debug option to get more log output.
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): > Run with --scan to get full insights.
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): * Get more help at https://help.gradle.org
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): You can use ‘–warning-mode all’ to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): See Command-Line Interface
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): 67 actionable tasks: 67 executed
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): BUILD FAILED in 27s
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): cmd.exe failed with args /c “C:\Unreal Projects\Trikey\Intermediate\Android\gradle\rungradle.bat” :app:bundleRelease
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): (see C:\Users\redli\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_5.3\Log.txt for full exception trace)
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): AutomationTool executed for 0h 1m 15s
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): AutomationTool exiting with ExitCode=1 (Error_Unknown)
UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): BUILD FAILED
PackagingResults: Error: Unknown Error
SDK API - 34
NDK - 25.1.8937393
JDK - jdk-17
…although I tend to see things like this in the output log like this:
Building Java with SDK API level ‘android-33’
and
Fixing minSdkVersion; NDK level is 33 which is above minSdkVersion 21
which makes me think that even though I changed it to 34 in like 15 different places, there are more places to change/fix.
Help with both the google mobile ads issue and the licensing issue very much appreciated as well as better understanding of what is going on.