Deploying Qt5 Android App
-
Two years ago I developed a Qt4 Android app using Ministro and it worked perfectly in that time. Right now I am porting the same code into Qt5. After updating several files I could compile and create the APK file in a pretty clean way.
Nevertheless, when I try to deploy the app into my tablet, I got several exceptions:java.lang.ClassNotFoundException: android.graphics.drawable.RippleDrawable java.lang.ClassNotFoundException: android.graphics.drawable.AnimatedStateListDrawable java.lang.ClassNotFoundException: android.graphics.drawable.VectorDrawable W/ResourceType(17852): Skipping entry 0x1080527 in package table 0 because it is not complex! W/dalvikvm(17852): No implementation found for native Lorg/qtproject/qt5/android/ExtractStyle;.extractNativeChunkInfo:(I)[I
These are my settings:
- QtCreator with Qt 5.5.1
- Android Studio (Android 4.4.4 - API Level 19)
- Android NDK (r10e)
- Ant (1.9.6)
- JDK (1.8.0_73)
Note: I tried to deploy my app from a virtual android device (using API 23) and I got the same result.
I appreciate any advice. Thank you!
-
After updating my tablet to Android 5.0.1, now that I am using API 21, I only got two errors:
No implementation found for int[] org.qtproject.qt5.android.ExtractStyle.extractNativeChunkInfo()
And
E/libEGL (11187): cache file failed CRC check
Suggestions?
-
I have no idea, but Google tells that the same thing was mentioned in the context of a Qt bug https://bugreports.qt.io/browse/QTBUG-44182 , so it just might be fixed in the the latest Qt, or beta of Qt 5.6 - unless something has been broken.
-
Finally I could solve the problem in a very strange way: I removed all the Android references in my code, including the android manifest.
In other words, I transformed my app into a "desktop" solution. Then, from QtCreator I made the deployment pointing to android and everything worked in a pretty clean way. I wonder how Qt solutions have evolved as an actual resource for mobile development in just few years.