This repository is meant for the porting of SFLphone to Android.


To build SFLphone and all its dependencies, make sure that Android's NDK and SDK
are properly installed on your system. 

You have also to make sure that the following environment variables are defined:

export ANDROID_NDK=$HOME/path/to/android-ndk-r*b
export ANDROID_SDK=$HOME/path/to/android-sdk-linux

The path to the required Android's build executable must be also specified:

export PATH=$PATH:$ANDROID_NDK

BUILD
-----
install swig-2.0.6 or later and python-2.7 or later on your system

$ cd sflphone-android

Check that following files are executable:
  jni/sflphone/daemon/src/JavaJNI2CJNI_Load.py
  make-swig.sh

Compile pjsip-android
$ pushd jni/pjproject-android/android
$ ./configure-android --disable-sound --disable-oss --disable-video --enable-ext-sound --disable-speex-aec --disable-g711-codec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-sdl --disable-ffmpeg --disable-v4l2

$ make dep && make
$ popd


Generate dbus interface
$ ./make-glue.sh


$ ndk-build -j4

Check that no errors occurred. In particular, following files should have been generated by make-swig.sh:
  sflphoneservice_loader.c
  callmanager_wrap.cpp
  sflphoneservice.java
  sflphoneserviceJNI.java
  ManagerImpl.java


Add compatibility library to libs folder
$ cp $ANDROID_SDK/extras/android/support/v13/android-support-v13.jar ./libs/


Then build android project with your favorite JDK: eclipse or ant.
