Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unsupported usage of main-dex list. The usage of main-dex-list content for the compilation of non-DEX inputs is deprecated. #3657

Open
MangaD opened this issue Jan 24, 2025 · 7 comments

Comments

@MangaD
Copy link

MangaD commented Jan 24, 2025

Strange error when compiling. It happens on one of my laptops only, on the other it works well. The files are identical in both laptops and both have the same Java version and Adobe AIR SDK version.

> java -version
java version "21.0.6" 2025-01-21 LTS
Java(TM) SE Runtime Environment (build 21.0.6+8-LTS-188)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.6+8-LTS-188, mixed mode, sharing)
> ..\adt.bat -version
51.1.3.5
> ..\adt.bat -package -target apk -storetype pkcs12 -keystore hfx.p12 HeroFighterX_FullVer.apk application_fullver.xml -extdir extensions HeroFighterX_FullVer.swf _Pic_Gen
password: ***
dx tool failed:Error in C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\multidex-1.0.2\addToPrimaryDex.keep:
Unsupported usage of main-dex list. The usage of main-dex-list content for the compilation of non-DEX inputs is deprecated. See issue https://issuetracker.google.com/181858113 for context.
Warning in com.chartboost.plugin.air.jar:com/chartboost/sdk/impl/x$a.class:
Type `org.apache.http.client.methods.HttpEntityEnclosingRequestBase` was not found, it is required for default or static interface methods desugaring of `com.chartboost.sdk.impl.x$a`
Warning in google-play-services.jar:com/google/android/gms/maps/SupportMapFragment.class:
Type `android.support.v4.app.Fragment` was not found, it is required for default or static interface methods desugaring of `com.google.android.gms.maps.SupportMapFragment`
Warning in C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\runtimeClasses.jar:com/adobe/air/wand/connection/WandWebSocket$WandSocketServer.class:
Type `org.java_websocket.server.WebSocketServer` was not found, it is required for default or static interface methods desugaring of `com.adobe.air.wand.connection.WandWebSocket$WandSocketServer`
Warning in com.chartboost.plugin.air.jar:com/chartboost/sdk/impl/ax$2.class:
Type `org.apache.http.impl.client.DefaultHttpClient` was not found, it is required for default or static interface methods desugaring of `com.chartboost.sdk.impl.ax$2`
Compilation failed
Exception in thread "main" java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\multidex-1.0.2\addToPrimaryDex.keep
        at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:131)
        at com.android.tools.r8.D8.main(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:5)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\multidex-1.0.2\addToPrimaryDex.keep
        at Version.fakeStackEntry(Version_8.6.2-dev.java:0)
        at com.android.tools.r8.T.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:5)
        at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:82)
        at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:32)
        at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:31)
        at com.android.tools.r8.internal.so.b(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:2)
        at com.android.tools.r8.D8.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:41)
        at com.android.tools.r8.D8.b(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:13)
        at com.android.tools.r8.D8.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:39)
        at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:118)
        ... 1 more
Caused by: com.android.tools.r8.internal.g: Unsupported usage of main-dex list. The usage of main-dex-list content for the compilation of non-DEX inputs is deprecated. See issue https://issuetracker.google.com/181858113 for context.
        at com.android.tools.r8.internal.w50.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:21)
        at com.android.tools.r8.internal.w50.error(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:1)
        at com.android.tools.r8.dex.c.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:128)
        at com.android.tools.r8.D8.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:157)
        at com.android.tools.r8.internal.Dh0.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:63)
        at com.android.tools.r8.D8.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:51)
        at com.android.tools.r8.D8.d(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:17)
        at com.android.tools.r8.D8.c(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:72)
        at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:28)
        ... 6 more
        Suppressed: java.lang.RuntimeException: com.android.tools.r8.internal.g: Unsupported usage of main-dex list. The usage of main-dex-list content for the compilation of non-DEX inputs is deprecated. See issue https://issuetracker.google.com/181858113 for context.
                at com.android.tools.r8.internal.w50.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:29)
                at com.android.tools.r8.dex.k.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:281)
                at com.android.tools.r8.D8.d(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:154)
                ... 8 more
        Caused by: [CIRCULAR REFERENCE: com.android.tools.r8.internal.g: Unsupported usage of main-dex list. The usage of main-dex-list content for the compilation of non-DEX inputs is deprecated. See issue https://issuetracker.google.com/181858113 for context.]
@ajwfrost
Copy link
Collaborator

That dx tool failed output sounds like it's using the "legacy" build mechanism - which wouldn't work with later Android build tools or SDKs. So it may be there's a difference in the Android set-up between the machines..

You may be able to tell more from the adt.log file (or simpler - use the AIR SDK Manager and the 'Troubleshooting' tab) but I would suggest trying to use the newer Gradle-based build mechanism, which should kick in automatically if you set up the Android platform SDK and have an app descriptor namespace of 33+..

thanks

@MangaD
Copy link
Author

MangaD commented Jan 24, 2025

@ajwfrost

I downloaded AIR SDK from here: https://airsdk.harman.com/download

And I have simply been using the command line. Where may I find the AIR SDK Manager and the adt.log file?

@marchbold
Copy link
Collaborator

Have a look on the airsdk site: https://airsdk.dev

@MangaD
Copy link
Author

MangaD commented Jan 25, 2025

@ajwfrost

Here is the output shown in the "Troubleshooting" tab of the AIR SDK Manager:

ADT 51.1.3.5 called with: -package -target apk -storetype pkcs12 -keystore hfx.p12 HeroFighterX_FullVer.apk application_fullver.xml -extdir extensions HeroFighterX_FullVer.swf _Pic_Gen

Creating device SDK handler - location passed in = C:\Users\david\AppData\Local\Android\Sdk

Warning: Using default implementation for native extension 'com.adobe.ane.social'

NOTE: Multiple Android build-tools folders exist, choosing the latest version (35.0.1) for packaging

AAPT command line: C:\Users\david\AppData\Local\Android\Sdk\build-tools\35.0.1\aapt.exe package -z -u -J C:\Users\david\AppData\Local\Temp\2cce5a8d-e13e-41bc-a481-7284cfb1a638 -M C:\Users\david\AppData\Local\Temp\2cce5a8d-e13e-41bc-a481-7284cfb1a638\AndroidManifest.xml -S C:\Users\david\AppData\Local\Temp\2cce5a8d-e13e-41bc-a481-7284cfb1a638\app_entry_res -S C:\Users\david\AppData\Local\Temp\2cce5a8d-e13e-41bc-a481-7284cfb1a638\captive_runtime_res -m --extra-packages com.google.android.gms:com.facebook.android: -S C:\Users\david\AppData\Local\Temp\a8cff341-5975-4c3d-95e8-66f4d7dc12a9\google-play-services-res -S C:\Users\david\AppData\Local\Temp\a8cff341-5975-4c3d-95e8-66f4d7dc12a9\fb-res --auto-add-overlay -I C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\resources\android-res.jar --no-version-vectors --min-sdk-version 14 --target-sdk-version 33 --version-code 1091000 --version-name 1.091 -F C:\Users\david\AppData\Local\Temp\2cce5a8d-e13e-41bc-a481-7284cfb1a638\resources.apk

Generating class file:  C:/Program Files/Java/jdk-21\bin\javac.exe -encoding utf-8 -J-Xmx1024m -source 1.8 -target 1.8 -Xlint C:\Users\david\AppData\Local\Temp\2cce5a8d-e13e-41bc-a481-7284cfb1a638\com\google\android\gms\R.java -d C:\Users\david\AppData\Local\Temp\17980889-f397-4e70-a3e7-4dd38a4e8134

Generating class file:  C:/Program Files/Java/jdk-21\bin\javac.exe -encoding utf-8 -J-Xmx1024m -source 1.8 -target 1.8 -Xlint C:\Users\david\AppData\Local\Temp\2cce5a8d-e13e-41bc-a481-7284cfb1a638\com\facebook\android\R.java -d C:\Users\david\AppData\Local\Temp\5c485e64-d36f-4351-8577-82cbfa537bde

Generating class file:  C:/Program Files/Java/jdk-21\bin\javac.exe -encoding utf-8 -J-Xmx1024m -source 1.8 -target 1.8 -Xlint C:\Users\david\AppData\Local\Temp\2cce5a8d-e13e-41bc-a481-7284cfb1a638\air\com\martialstudio\herofighterx1\R.java -d C:\Users\david\AppData\Local\Temp\ca0e0d5c-0253-40bb-86ea-5b747155b80c

DX tool command line: java -Xmx1024m -cp C:\Users\david\AppData\Local\Android\Sdk\build-tools\35.0.1\lib\d8.jar com.android.tools.r8.D8 --release --main-dex-list C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\multidex-1.0.2\addToPrimaryDex.keep --output C:\Users\david\AppData\Local\Temp\ac1335c5-e3d7-48c2-8e4d-23be07e03ea9 C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\multidex-1.0.2\classes.jar C:\Users\david\AppData\Local\Temp\ac1335c5-e3d7-48c2-8e4d-23be07e03ea9/inputJAR.jar C:\Users\david\AppData\Local\Temp\2cce5a8d-e13e-41bc-a481-7284cfb1a638\resources.jar C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\runtimeClasses.jar C:\Users\david\AppData\Local\Temp\ac1335c5-e3d7-48c2-8e4d-23be07e03ea9/FlashRuntimeExtensions.jar com.chartboost.plugin.air.jar com.jirbo.airadc.AirAdColony.jar com.milkmangames.extensions.AndroidIAB.jar com.milkmangames.extensions.CoreMobile.jar com.milkmangames.extensions.GoViral.jar google-play-services.jar --lib C:\Users\david\AppData\Local\Android\Sdk\platforms\android-35\android.jar

Stack trace:
..java.base/java.lang.Thread.getStackTrace(Thread.java:2450)
..com.adobe.air.DebugFile.printStack(DebugFile.java)
..com.adobe.air.ADTException.<init>(ADTException.java)
..com.adobe.air.apk.APKOutputStream.e(APKOutputStream.java)
..com.adobe.air.apk.APKOutputStream.addApplicationDescriptor(APKOutputStream.java)
..com.adobe.air.ApplicationPackager.addSpecialFiles(ApplicationPackager.java)
..com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java)
..com.adobe.air.ADT.parseArgsAndGo(ADT.java)
..com.adobe.air.ADT.run(ADT.java)
..com.adobe.air.ADT.main(ADT.java)

ADT exception: dx tool failed:Error in C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\multidex-1.0.2\addToPrimaryDex.keep:

Unsupported usage of main-dex list. The usage of main-dex-list content for the compilation of non-DEX inputs is deprecated. See issue https://issuetracker.google.com/181858113 for context.

Warning in C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\runtimeClasses.jar:com/adobe/air/wand/connection/WandWebSocket$WandSocketServer.class:

Type `org.java_websocket.server.WebSocketServer` was not found, it is required for default or static interface methods desugaring of `com.adobe.air.wand.connection.WandWebSocket$WandSocketServer`

Warning in com.chartboost.plugin.air.jar:com/chartboost/sdk/impl/x$a.class:

Type `org.apache.http.client.methods.HttpEntityEnclosingRequestBase` was not found, it is required for default or static interface methods desugaring of `com.chartboost.sdk.impl.x$a`

Warning in google-play-services.jar:com/google/android/gms/maps/SupportMapFragment.class:

Type `android.support.v4.app.Fragment` was not found, it is required for default or static interface methods desugaring of `com.google.android.gms.maps.SupportMapFragment`

Warning in com.chartboost.plugin.air.jar:com/chartboost/sdk/impl/ax$2.class:

Type `org.apache.http.impl.client.DefaultHttpClient` was not found, it is required for default or static interface methods desugaring of `com.chartboost.sdk.impl.ax$2`

Compilation failed

Exception in thread "main" java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\multidex-1.0.2\addToPrimaryDex.keep

	at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:131)

	at com.android.tools.r8.D8.main(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:5)

Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\david\Downloads\AIRSDK_Windows\lib\android\lib\multidex-1.0.2\addToPrimaryDex.keep

	at Version.fakeStackEntry(Version_8.6.2-dev.java:0)

	at com.android.tools.r8.T.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:5)

	at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:82)

	at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:32)

	at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:31)

	at com.android.tools.r8.internal.so.b(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:2)

	at com.android.tools.r8.D8.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:41)

	at com.android.tools.r8.D8.b(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:13)

	at com.android.tools.r8.D8.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:39)

	at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:118)

	... 1 more

Caused by: com.android.tools.r8.internal.g: Unsupported usage of main-dex list. The usage of main-dex-list content for the compilation of non-DEX inputs is deprecated. See issue https://issuetracker.google.com/181858113 for context.

	at com.android.tools.r8.internal.w50.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:21)

	at com.android.tools.r8.internal.w50.error(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:1)

	at com.android.tools.r8.dex.c.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:128)

	at com.android.tools.r8.D8.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:157)

	at com.android.tools.r8.internal.Dh0.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:63)

	at com.android.tools.r8.D8.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:51)

	at com.android.tools.r8.D8.d(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:17)

	at com.android.tools.r8.D8.c(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:72)

	at com.android.tools.r8.internal.so.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:28)

	... 6 more

	Suppressed: java.lang.RuntimeException: com.android.tools.r8.internal.g: Unsupported usage of main-dex list. The usage of main-dex-list content for the compilation of non-DEX inputs is deprecated. See issue https://issuetracker.google.com/181858113 for context.

		at com.android.tools.r8.internal.w50.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:29)

		at com.android.tools.r8.dex.k.a(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:281)

		at com.android.tools.r8.D8.d(R8_8.6.2-dev_7fc7c6f786a921c1190fae64678f9d13ea8a32a8034f1ca657e7734636ef3f68:154)

		... 8 more

	Caused by: [CIRCULAR REFERENCE: com.android.tools.r8.internal.g: Unsupported usage of main-dex list. The usage of main-dex-list content for the compilation of non-DEX inputs is deprecated. See issue https://issuetracker.google.com/181858113 for context.]

I am not sure how to use the newer Gradle-based build mechanism. The steps that I am taking for this are the following:

  1. Remove <BuildLegacyAPK>true</BuildLegacyAPK> from application.xml.
  2. Add the following to adt.cfg:
AndroidPlatformSDK=C:/Users/david/AppData/Local/Android/Sdk
JAVA_HOME=C:/Program Files/Java/jdk-21

I have Android Studio 2024.2.2 installed, with the Android 15 SDK and Gradle 8.10.2. I want the apk to work in this Android version.

Then I get the output:

ADT 51.1.3.5 called with: -package -target apk -storetype pkcs12 -keystore hfx.p12 HeroFighterX_FullVer.apk application_fullver.xml -extdir extensions HeroFighterX_FullVer.swf _Pic_Gen

Target requested was apk-captive-runtime, but not using legacy APK so building via Android Studio

Creating device SDK handler - location passed in = C:\Users\david\AppData\Local\Android\Sdk

Warning: Using default implementation for native extension 'com.adobe.ane.social'

NOTE: Multiple Android build-tools folders exist, choosing the latest version (35.0.1) for packaging

Version in APK = 51.1.3.5, version of ADT = 51.1.3.5

NOTE: targets later than Android 33 need Gradle Plugin versions of 8 or more. Adjusting to 8.1.1

Gradle build where ADT is using JRE version 21.0.6
but where Gradle will be using the JDK from C:/Program Files/Java/jdk-21\bin\java.exe

Gradle build command:  C:/Program Files/Java/jdk-21\bin\java.exe -Xmx1024m -Dorg.gradle.appname=gradlew -Dorg.gradle.jvmargs=-Xmx1024m -Duser.dir="C:\Users\david\AppData\Local\Temp\ee72f7ac-ba59-4604-958e-c0e3cce49931" -DAIR_GRADLE_KEYPWD=xxxxxx -DAIR_GRADLE_STOREPWD=xxxxxx -cp "C:\Users\david\AppData\Local\Temp\ee72f7ac-ba59-4604-958e-c0e3cce49931\gradle\wrapper\gradle-wrapper.jar";"C:\Users\david\Downloads\AIRSDK_Windows\lib\android\bin\gradle-cli.jar" org.gradle.wrapper.GradleWrapperMain :app:assembleRelease

Stack trace:
..java.base/java.lang.Thread.getStackTrace(Thread.java:2450)
..com.adobe.air.DebugFile.printStack(DebugFile.java)
..com.adobe.air.ADTException.<init>(ADTException.java)
..com.adobe.air.apk.AABOutputStream.buildGradle(AABOutputStream.java)
..com.adobe.air.apk.AABPackager.renameOutput(AABPackager.java)
..com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java)
..com.adobe.air.apk.AABPackager.createPackage(AABPackager.java)
..com.adobe.air.ADT.parseArgsAndGo(ADT.java)
..com.adobe.air.ADT.run(ADT.java)
..com.adobe.air.ADT.main(ADT.java)

Unexpected failure: Unable to run java: com.adobe.air.ADTException: gradle tool failed: 
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'air-com-martialstudio-herofighterx1'.
> Could not open cp_proj generic class cache for build file 'C:\Users\david\AppData\Local\Temp\ee72f7ac-ba59-4604-958e-c0e3cce49931\build.gradle' (C:\Users\david\.gradle\caches\8.0\scripts\9v556vp3l2zavm1fklzgj65ke).
   > BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65

* 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 7s

Any help would be appreciated.

@ajwfrost
Copy link
Collaborator

Okay so you've managed to change it so it's building via Gradle, which is great .. but it looks like you have the Android 35 platform installed; we are adjusting from our default to use the Android Gradle Plug-in 8.1.1 but I think we're likely still using an older Gradle version, which isn't compatible with Java-21.

A few options maybe - I don't know that it would help but potentially using Java 17 may help? - but otherwise, assuming you don't want to downgrade your environment's Android platform installation, it may be worth adding a flag to your application descriptor file to ensure you use a later Gradle version too.

For Android-35, you could try having:

<android>
     <androidGradlePluginVersion>8.8</androidGradlePluginVersion>
     <gradleVersion>8.10.2</gradleVersion>
</android

or 8.7 + 8.9, or other combinations from https://developer.android.com/build/releases/gradle-plugin#updating-gradle

Thanks

@MangaD
Copy link
Author

MangaD commented Jan 25, 2025

Using Java 17 has allowed the apk to compile. However I cannot install it in Bluestacks, whereas the legacy build works. Attempting to install it in the Android emulator gives the following error:

Error running 'HeroFighterX_FullVer' The application could not be installed: INSTALL_FAILED_NO_MATCHING_ABIS Installation failed due to: 'Error code: 'INSTALL_FAILED_NO_MATCHING_ABIS', message='INSTALL_FAILED_NO_MATCHING_ABIS: INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113'' List of apks: [0] 'C:\Users\david\ApkProjects\HeroFighterX_FullVer\HeroFighterX_FullVer. apk'

@ajwfrost
Copy link
Collaborator

From your command line, it's leaving the APK with the default architecture/ABI (armv7) - I'm not sure which architecture Bluestacks needs, it sounds like it can support all of them but is there any way you can check this?
https://support.bluestacks.com/hc/en-us/articles/360058929011-What-is-Application-Binary-Interface-ABI-in-BlueStacks-5

You could try adding the -arch x64 option perhaps, to generate an x86_64 version? Or you could use -target aab to package up an Android App Bundle which contains all of them; if you use ADT to install this onto the BlueStacks emulator, the tools should automatically pick the right architecture.

Plus - it might also be worth opening the APK file with a zip editor and making sure it looks okay, with an AndroidManifest.xml file in the root folder and a lib/armeabi-v7a/libCore.so native library folder (which is what Bluestacks is rejecting).

thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants