How to build SDL For Android for video call application implemented using pjsip and ui created in qt

0

Following are the steps I had followed to build apk of my video call application :

  1. QT version - 5.11.3 , ndk - 10e (GCC toolchain) (later used 20b for Qt version 5.14.0 clang toolchain) , SDK - 26.1.1 , JDK - 1.8 ,OpenH264 downloaded from github , sdl 2.0.8

  2. I'm using OpenH264 as the codec, I had cross-compiled openH264 for android using the command :

make OS=android NDKROOT=android-ndk-r10e TARGET=android-16 libopenh264.so APP_ABI=armeabi-v7a ARCH=arm NDKLEVEL=16

make OS=android NDKROOT=/root/android-ndk-r10e TARGET=android-16 libopenh264.so APP_ABI=armeabi-v7a ARCH=arm NDKLEVEL=16 clean

make install OS=android NDKROOT=/root/android-ndk-r10e TARGET=android-16 libopenh264.so APP_ABI=armeabi-v7a ARCH=arm NDKLEVEL=16

  1. I had complied SDL for android following the README-android file found in SDL source folder ie.,
  • Downloaded SDL2 source code and extract 'android-project' folder from it and renamed it to the name of my project.
  • Created a symbolic link of SDL2 source code as ./SDL inside 'app' folder.
  • Modified 'Android.mk' with the name of the source file in 'LOCAL_SRC_FILES' and set CFLAGS and included few files in INCLUDEPATH.
  • Ran ndk-build from jni > src folder and on successful build libsdl.so and libmain.so got generated.
  1. Compiled pjsip with openH264 and sdl2 :

TARGET_ABI=armeabi-v7a APP_PLATFORM=android-16 ./configure-android --use-ndk-cflags --with-openh264=/usr/local --with-sdl

followed by make & make install.

  1. Included these .so files in qt pro file under 'ANDROID_EXTRA_LIBS'.

  2. clean, qmake, build was successful.

  3. Running the application in Qt , the following error was displayed and the application got crashed (testSdlQt - is the name of the project):

D/dalvikvm( 1431): No JNI_OnLoad found in /data/data/org.qtproject.example.testSdlQt lib/libtestSdlQt.so 0x9f0113c8, skipping init E/ ( 1431): dlsym failed: Symbol not found: E/ ( 1431): Could not find main method F/libc ( 1431): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 1450 (qtMainLoopThrea) I/DEBUG ( 651): pid: 1431, tid: 1450, name: qtMainLoopThrea >>> org.qtproject.example.testSdlQt <<< D/Zygote ( 654): Process 1431 terminated by signal (11) I/ActivityManager( 837): Process org.qtproject.example.testSdlQt (pid 1431) has died.

Although apk was generated, when I run it the application crashes saying ('Application Stopped unexpectedly').

Can Anyone help me with how to proceed or Guide me on how to build my video call application on Android which was developed in Qt using pjsip libraries , sdl (pjsip internally calls SDL functions hence sdl comes in to picture) , openH264 .

android
qt
sdl
pjsip
asked on Stack Overflow Dec 22, 2020 by NIvedha_02 • edited Dec 22, 2020 by Hasip Timurtas

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0