Current Trunk - PJSUA for Android not building w/o extra steps - Android app crashing on run

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am able to build the apjsua branch without problems and the apjsua Android app runs properly with that libpjsua_app.so.

However, with the android subdirectory that was added to the trunk for pjsua recently, I have not been able to build/run successfully with the new instructions on https://trac.pjsip.org/repos/wiki/Getting-Started/Android

I am running Ubuntu 11.10 32-bit, with android-ndk-r8e.

The configure and make commands all work fine, but when I do the ndk-build command I receive the following error while trying to make the pjsua_wrap.o:

Invoking SWIG...
swig -c++ -o jni/pjsua_wrap.cpp -package org.pjsip.pjsua -outdir src/org/pjsip/pjsua -java jni/pjsua.i
Compile++ thumb  : pjsua <= pjsua_wrap.cpp
jni/pjsua_wrap.cpp: In constructor 'Swig::Director::JNIEnvWrapper::JNIEnvWrapper(const Swig::Director*)':
jni/pjsua_wrap.cpp:335:73: error: invalid conversion from 'void**' to 'JNIEnv** {aka _JNIEnv**}' [-fpermissive]
/home/android/android-ndk-r8e/platforms/android-14/arch-arm/usr/include/jni.h:1072:10: error:   initializing argument 1 of 'jint _JavaVM::AttachCurrentThread(JNIEnv**, void*)' [-fpermissive]
make: *** [obj/local/armeabi/objs/pjsua/pjsua_wrap.o] Error 1

I found the following thread which sounds exactly like what I ran into: http://swig.10945.n7.nabble.com/Java-AttachCurrentThread-cast-error-td557.html

After reading, I decided I would try taking the jni.h (and dependencies jawt_md.h/jni_md.h) from my 1.7.0_01 JDK folder, and placing them in /home/android/android-ndk-r8e/platforms/android-14/arch-arm/usr/include/ to see if it would build using Java's jni.h.  This fixed the build problem and ndk-build now builds the .so without issue.  If this is a necessary step, then it should be added to the wiki page.

I then continued to follow the wiki entry and made the project in eclipse from existing source and it built fine (I'm using target Android SDK version 14 - Android 4.0).  I then tried to run on a 4.0 simulator, a rooted Motorola Xoom tablet, and a Samsung Galaxy SIII, all of which crash with the following LogCat tracing:

05-15 17:12:22.140: E/dalvikvm(21762): ERROR: detaching thread with interp frames (count=18)
05-15 17:12:22.140: I/dalvikvm(21762): "main" prio=5 tid=1 RUNNABLE
05-15 17:12:22.140: I/dalvikvm(21762):   | group="main" sCount=0 dsCount=0 obj=0x4184d568 self=0x4183d9f8
05-15 17:12:22.140: I/dalvikvm(21762):   | sysTid=21762 nice=0 sched=0/0 cgrp=apps handle=1075250992
05-15 17:12:22.140: I/dalvikvm(21762):   | schedstat=( 106848000 16932000 106 ) utm=5 stm=5 core=0
05-15 17:12:22.140: I/dalvikvm(21762):   at org.pjsip.pjsua.pjsuaJNI.pjsuaStart(Native Method)
05-15 17:12:22.140: I/dalvikvm(21762):   at org.pjsip.pjsua.pjsua.pjsuaStart(pjsua.java:13)
05-15 17:12:22.140: I/dalvikvm(21762):   at org.pjsip.pjsua.MainActivity.init_lib(MainActivity.java:234)
05-15 17:12:22.140: I/dalvikvm(21762):   at org.pjsip.pjsua.MainActivity.onCreate(MainActivity.java:153)
05-15 17:12:22.140: I/dalvikvm(21762):   at android.app.Activity.performCreate(Activity.java:5008)
05-15 17:12:22.140: I/dalvikvm(21762):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
05-15 17:12:22.140: I/dalvikvm(21762):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
05-15 17:12:22.140: I/dalvikvm(21762):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
05-15 17:12:22.140: I/dalvikvm(21762):   at android.app.ActivityThread.access$600(ActivityThread.java:130)
05-15 17:12:22.140: I/dalvikvm(21762):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
05-15 17:12:22.140: I/dalvikvm(21762):   at android.os.Handler.dispatchMessage(Handler.java:99)
05-15 17:12:22.140: I/dalvikvm(21762):   at android.os.Looper.loop(Looper.java:137)
05-15 17:12:22.140: I/dalvikvm(21762):   at android.app.ActivityThread.main(ActivityThread.java:4745)
05-15 17:12:22.140: I/dalvikvm(21762):   at java.lang.reflect.Method.invokeNative(Native Method)
05-15 17:12:22.140: I/dalvikvm(21762):   at java.lang.reflect.Method.invoke(Method.java:511)
05-15 17:12:22.140: I/dalvikvm(21762):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
05-15 17:12:22.140: I/dalvikvm(21762):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
05-15 17:12:22.140: I/dalvikvm(21762):   at dalvik.system.NativeStart.main(Native Method)
05-15 17:12:22.140: E/dalvikvm(21762): VM aborting
05-15 17:12:22.140: A/libc(21762): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 21762 (org.pjsip.pjsua)

If I comment out Line #230 of MainActivity.java which sets a callback object, the pjsuaStart() function returns without exception and the app does not crash, however it's stuck on "Starting module".

Is there anyone out there who can help with these issues?  Is it something I'm doing wrong?  I have followed the instructions to the letter and am still facing these problems.

Thanks,
Kevin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20130516/43510784/attachment-0001.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux