Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

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.


Log in to reply