Android app doesn't run
-
@JoeCFD mine appears to be 11.
When I change my JDK to 11, I get the following errors:
Do I need to dig up an earlier version of the SDK now? The Android Studio download page seems to have only the latest versions.@mzimmers said in Android app doesn't run:
Do I need to dig up an earlier version of the SDK now?
That's a bit tricky:
- The Latest version of the SDK Command-Line tools (v11+) requires JDK 17 now. In contrast, v10 of the Tools can work with JDK 11.
- Qt Creator expects you to use the SDK Manager to install the "Latest" version of the tools. So if you've upgrade those tools, you're expected to use JDK 17 too.
And, to @JKSH's suggestion, this is without modifying any of the files in my android directory.
Hmm... that's weird. Sorry, I don't know if it's related to JDK 17 or not. (I haven't upgraded so I'm still using JDK 11 + SDK Command-Line Tools v10)
-
@mzimmers said in Android app doesn't run:
Do I need to dig up an earlier version of the SDK now?
That's a bit tricky:
- The Latest version of the SDK Command-Line tools (v11+) requires JDK 17 now. In contrast, v10 of the Tools can work with JDK 11.
- Qt Creator expects you to use the SDK Manager to install the "Latest" version of the tools. So if you've upgrade those tools, you're expected to use JDK 17 too.
And, to @JKSH's suggestion, this is without modifying any of the files in my android directory.
Hmm... that's weird. Sorry, I don't know if it's related to JDK 17 or not. (I haven't upgraded so I'm still using JDK 11 + SDK Command-Line Tools v10)
-
Using Android Studio's SDK Manager, I was able to install Android 13.0 (Tiramisu), and command-line tools 10:
and now my Android settings in Creator are totally whack:
I'm going around in circles here. Any ideas are appreciated. -
@mzimmers the SDKs from Android SDK Manager are not in your kit yet. Click SDK Manager button to add them.
-
@JoeCFD it doesn't work - there's nothing in the package window to add when I've selected JDK 11.
@mzimmers I'm using JDK 17 for Qt 5.15.15 and 6.6
-
Using Android Studio's SDK Manager, I was able to install Android 13.0 (Tiramisu), and command-line tools 10:
and now my Android settings in Creator are totally whack:
I'm going around in circles here. Any ideas are appreciated. -
@mzimmers I am running Qt 6.6.1 on Linux with qtcreator 11.0.3 and do not have any issue with the settings.
SDK path is not writable?
-
@JoeCFD I'm running on Windows 11. According to the properties of my Sdk folder, it was partially read-only, but I changed that, and it didn't help.
When I try to run the SCK manager, I get this error:
The error message indicates that you are trying to run a Java class file compiled with a higher version of the Java compiler than the version of the Java Runtime Environment (JRE) you have installed.
In this case:
Class file version 61.0 corresponds to Java 17. Class file version 55.0 corresponds to Java 11.
==============================================================
Your installation is messed up. -
The error message indicates that you are trying to run a Java class file compiled with a higher version of the Java compiler than the version of the Java Runtime Environment (JRE) you have installed.
In this case:
Class file version 61.0 corresponds to Java 17. Class file version 55.0 corresponds to Java 11.
==============================================================
Your installation is messed up.@JoeCFD said in Android app doesn't run:
Your installation is messed up.
Well, that's an understatement. From a terminal, I get this:
C:\Users\michael.zimmers>java -version openjdk version "21.0.1" 2023-10-17 LTS OpenJDK Runtime Environment Temurin-21.0.1+12 (build 21.0.1+12-LTS) OpenJDK 64-Bit Server VM Temurin-21.0.1+12 (build 21.0.1+12-LTS, mixed mode, sharing)
Is this not the same JRE instance that Creator is trying to use?
-
@JoeCFD said in Android app doesn't run:
Your installation is messed up.
Well, that's an understatement. From a terminal, I get this:
C:\Users\michael.zimmers>java -version openjdk version "21.0.1" 2023-10-17 LTS OpenJDK Runtime Environment Temurin-21.0.1+12 (build 21.0.1+12-LTS) OpenJDK 64-Bit Server VM Temurin-21.0.1+12 (build 21.0.1+12-LTS, mixed mode, sharing)
Is this not the same JRE instance that Creator is trying to use?
-
@mzimmers It is likely some java classes in Android/Sdk were built in Java 17 at the beginning. They were not rebuilt when you switched to Java 11.
Wait: you have JDK 21?
-
@JoeCFD said in Android app doesn't run:
Wait: you have JDK 21?
I have JDK 11, 17 and 21. I just don't know which one to use in my JDK/SDK/NDK/tools/JRE cocktail.
-
@mzimmers I guess you can not have all of them. Remove 17 and 21 and SDK. Reinstall SDK if you use Java 11 which is recommended by Android for Andorid 13.
@ekkescorner wrote he is ok with 17. I have not tried it. You can try it out as well.
-
M mzimmers referenced this topic on
-
@JoeCFD but according to JKSH's post this is going to create a mismatch.
-
An update: I was able to install my application from the command line (using adb.exe). So, there's nothing wrong with my .apk file; it appears the problem is in Creator 12.0.1 (or the way I'm using it).
@mzimmers perhaps you run into this: https://forum.qt.io/post/785169
-
An update: I was able to install my application from the command line (using adb.exe). So, there's nothing wrong with my .apk file; it appears the problem is in Creator 12.0.1 (or the way I'm using it).
@mzimmers you can try a QtCreator 12.0.2 snapshot: https://download.qt.io/snapshots/qtcreator/12.0/12.0.2/28/
let us know if this works better -
@mzimmers perhaps you run into this: https://forum.qt.io/post/785169
@ekkescorner said in Android app doesn't run:
@mzimmers perhaps you run into this: https://forum.qt.io/post/785169
This definitely helps. Combined with regenerating the android files, and deleting the build directory, I'm past that error. (I'm onto another error, but I think this is my doing. I'm posting the relevant output here.)
E project.exampl: Not starting debugger since process cannot load the jdwp agent. W System : ClassLoader referenced unknown path: I DecorView: [INFO] isPopOver=false, config=true I DecorView: updateCaptionType >> DecorView@c5c2492[], isFloating=false, isApplication=true, hasWindowDecorCaption=false, hasWindowControllerCallback=true W linker : Warning: "/data/app/~~J43OE5MfUdxnaBtJpASGww==/org.qtproject.example-lakyk1zLaHW5FUEWp05dDQ==/lib/arm64/libc++_shared.so" unused DT entry: unknown processor-specific (type 0x70000001 arg 0x0) (ignoring) W Gralloc3: mapper 3.x is not supported E linker : library "/system/lib/libcrypto.so" ("/system/lib/libcrypto.so") needed or dlopened by "/data/app/~~J43OE5MfUdxnaBtJpASGww==/org.qtproject.example-lakyk1zLaHW5FUEWp05dDQ==/lib/arm64/libQt6Core_arm64-v8a.so" is not accessible for the namespace: [name="classloader-namespace", ld_library_paths="", default_library_paths="/data/app/~~J43OE5MfUdxnaBtJpASGww==/org.qtproject.example-lakyk1zLaHW5FUEWp05dDQ==/lib/arm64:/data/app/~~J43OE5MfUdxnaBtJpASGww==/org.qtproject.example-lakyk1zLaHW5FUEWp05dDQ==/base.apk!/lib/arm64-v8a", permitted_paths="/data:/mnt/expand:/data/data/org.qtproject.example"] W qt.tlsbackend.ossl: : Failed to load libssl/libcrypto. W qt.network.ssl: : The backend "cert-only" does not support QSslKey W qt.network.ssl: : Active TLS backend does not support key creation W libappNgaIcdFw_arm64-v8a.so: QQmlApplicationEngine failed to load component W libappNgaIcdFw_arm64-v8a.so: <Unknown File>: No module named "ngaIcdFw" found W libappNgaIcdFw_arm64-v8a.so: exit app 0 05:42:56: "org.qtproject.example" died.
I think this has to do with a recent restructuring of my project files and folders.
So:
- delete the build directory
- clear your Qt Creator cache
- use Creator to generate but NOT modify AndroidManifest.xml
appears to be a successful procedure, if my above assumption about my project restructuring is true. I'll do some more experimentation and report back.
Oh, I tried 12.0.2...no improvement. Thanks for the link, though.