Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Do not see Java class. Why?
Forum Updated to NodeBB v4.3 + New Features

Do not see Java class. Why?

Scheduled Pinned Locked Moved Solved Mobile and Embedded
3 Posts 2 Posters 434 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bogong
    wrote on 19 Feb 2021, 16:46 last edited by bogong
    #1

    Hello all!

    I am developing very simple application. Default from Qt Quick template within simple Java class:

    package package.test.usingjava_v1;
    
    public class MyJavaClass {
    
        public static int mTest(int inNumber) {
    
    	return inNumber;
        }
    }
    

    in *.pro file

    android {
    
        QT += androidextras
    
        ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
    
        OTHER_FILES += \
    	android/MyJavaClass.java
    }
    

    in *.cpp

    QAndroidJniEnvironment* oJNIEnvironment = new QAndroidJniEnvironment();
    	jclass oMyJavaClass = oJNIEnvironment->findClass("package/test/usingjava_v1/MyJavaClass");
    	if(oMyJavaClass == NULL) {
    		qDebug() << "MyJavaClass class not found";
    	}
    

    When trying to run see this error:

    W System.err: java.lang.ClassNotFoundException: Didn't find class "package.test.usingjava_v1.MyJavaClass" on path: DexPathList[[zip file "/data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/base.apk"],nativeLibraryDirectories=[/data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/lib/x86, /data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/base.apk!/lib/x86, /system/lib, /system_ext/lib]]
    W System.err: 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
    W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    W System.err: 	at org.qtproject.qt5.android.QtNative.startQtApplication(Native Method)
    W System.err: 	at org.qtproject.qt5.android.QtNative$7.run(QtNative.java:620)
    W System.err: 	at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
    W System.err: 	at java.lang.Thread.run(Thread.java:923)
    W System.err: java.lang.ClassNotFoundException: Didn't find class "package.test.usingjava_v1.MyJavaClass" on path: DexPathList[[],nativeLibraryDirectories=[/system/lib, /system_ext/lib]]
    W System.err: 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
    W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    W System.err: 	at org.qtproject.qt5.android.QtNative.startQtApplication(Native Method)
    W System.err: 	at org.qtproject.qt5.android.QtNative$7.run(QtNative.java:620)
    W System.err: 	at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
    W System.err: 	at java.lang.Thread.run(Thread.java:923)
    

    Why is that? What am I missing?

    R 1 Reply Last reply 19 Feb 2021, 22:58
    0
    • B bogong
      19 Feb 2021, 16:46

      Hello all!

      I am developing very simple application. Default from Qt Quick template within simple Java class:

      package package.test.usingjava_v1;
      
      public class MyJavaClass {
      
          public static int mTest(int inNumber) {
      
      	return inNumber;
          }
      }
      

      in *.pro file

      android {
      
          QT += androidextras
      
          ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
      
          OTHER_FILES += \
      	android/MyJavaClass.java
      }
      

      in *.cpp

      QAndroidJniEnvironment* oJNIEnvironment = new QAndroidJniEnvironment();
      	jclass oMyJavaClass = oJNIEnvironment->findClass("package/test/usingjava_v1/MyJavaClass");
      	if(oMyJavaClass == NULL) {
      		qDebug() << "MyJavaClass class not found";
      	}
      

      When trying to run see this error:

      W System.err: java.lang.ClassNotFoundException: Didn't find class "package.test.usingjava_v1.MyJavaClass" on path: DexPathList[[zip file "/data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/base.apk"],nativeLibraryDirectories=[/data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/lib/x86, /data/app/~~EJrl74Lo2NDhB_byCekDiw==/org.qtproject.example.UsingJava_v1-R50S85TnRsBibrRodxNU0A==/base.apk!/lib/x86, /system/lib, /system_ext/lib]]
      W System.err: 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
      W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
      W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
      W System.err: 	at org.qtproject.qt5.android.QtNative.startQtApplication(Native Method)
      W System.err: 	at org.qtproject.qt5.android.QtNative$7.run(QtNative.java:620)
      W System.err: 	at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
      W System.err: 	at java.lang.Thread.run(Thread.java:923)
      W System.err: java.lang.ClassNotFoundException: Didn't find class "package.test.usingjava_v1.MyJavaClass" on path: DexPathList[[],nativeLibraryDirectories=[/system/lib, /system_ext/lib]]
      W System.err: 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
      W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
      W System.err: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
      W System.err: 	at org.qtproject.qt5.android.QtNative.startQtApplication(Native Method)
      W System.err: 	at org.qtproject.qt5.android.QtNative$7.run(QtNative.java:620)
      W System.err: 	at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
      W System.err: 	at java.lang.Thread.run(Thread.java:923)
      

      Why is that? What am I missing?

      R Offline
      R Offline
      raven-worx
      Moderators
      wrote on 19 Feb 2021, 22:58 last edited by
      #2

      @bogong
      where exactly did you put the java file inside the "$$PWD/android" directory?

      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
      If you have a question please use the forum so others can benefit from the solution in the future

      B 1 Reply Last reply 10 Mar 2021, 04:53
      0
      • R raven-worx
        19 Feb 2021, 22:58

        @bogong
        where exactly did you put the java file inside the "$$PWD/android" directory?

        B Offline
        B Offline
        bogong
        wrote on 10 Mar 2021, 04:53 last edited by
        #3

        @raven-worx Solution found there was troubles with class location. It wasn't in ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android/src. Forgotten about src. The example published here https://github.com/ArboreusSystems/arboreus_examples/tree/master/qt/UsingJava

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved