1 Star 1 Fork 1

sylijinlei / linphone-android

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Linphone is a free VoIP and video softphone based on the SIP protocol.

COMPILATION INSTRUCTIONS

To build liblinphone for Android, you must:

  1. Download the Android sdk (API 23 at least) with platform-tools and tools updated to latest revision, then add both 'tools' and 'platform-tools' folders in your path.

  2. Download the Android ndk (version r11c or 12b) from google and add it to your path (no symlink !!!).

  3. Install yasm, nasm, ant, python, intltoolize, cmake and vim-common.

  • On 64 bits linux systems you'll need the ia32-libs package.
  • With the latest Debian (multiarch), you need this:
    • dpkg --add-architecture i386
    • aptitude update
    • aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
  1. Run ./prepare.py in the top level directory. This will configure the build and generate a Makefile in the top level directory. Some options can be passed to choose what you want to include in the build and the platforms for which you want to build. Use ./prepare.py --help to see what these options are.

  2. Run the Makefile script in the top level directory, make.

  3. (optional) To install the generated apk into a plugged device, run make install.

  4. (optional) To generate a liblinphone SDK zip containing a full jar and native libraries, run make liblinphone-android-sdk

  5. (optional) To generate a libmediastreamer2 SDK zip containing a full jar and native libraries, run make mediastreamer2-sdk

  6. (optional) To generate a signed apk to publish on the Google Play, run make release. Make sure you filled the ant.properties values for version.name, key.store and key.alias in order to correctly sign the generated apk. You also may want to create a file name ant_password.properties with the following:

  • key.store.password=[your_password]
  • key.alias.password=[your_password]

If you don't, the passwords will be asked at the signing phase.

  1. (optional) Once you compiled the libraries succesfully with 'make', you can reduce the compilation time using 'make quick': it will only generate a new APK from java files.

To run the tutorials:

  1. Open the res/values/non_localizable_custom.xml file and change the show_tutorials_instead_of_app to true.

  2. Compile again using make and make install.

  3. Don't forget to put it back to false to run the linphone application normally.

To create an apk with a different package name

You need to edit the custom_rules.xml file:

  1. look for the property named "linphone.package.name" and change it value accordingly
  2. also update the values in the AndroidManifest file where the comment appears
  3. change the package name also in the files: res/xml/syncadapter.xml, res/xml/contacts.xml and res/values/non_localizable_custom where appears
  4. run again the Makefile script by calling "make"

To run the liblinphone test suite on android

Simply run make liblinphone_tester. This will be build everything, generate an apk, and install it on the connected device if any.

You can speed up the compilation by using ccache (compiler cache, see ccache.samba.org). Give the "-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" options to the prepare.py script.

TROUBLESHOOTING

If you encounter the following issue:

E/dalvikvm( 2465): dlopen("/data/app-lib/org.linphone-1/liblinphone-armeabi-v7a.so") failed: 
Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "rand" referenced 
by "liblinphone-armeabi-v7a.so"

It's because you have installed the android-21 platform (which is chosen automatically because it's the most recent) and you deployed the apk on a android < 5 device.

To fix this, in the Makefile, force ANDROID_MOST_RECENT_TARGET=android-19.

If you encounter troubles with the make clean target and you are using the 8e android ndk, the solution can be found here.

If you built the app using eclipse, ensure you ran at least once the make command (see above steps 0 to 3) ! Else you'll have this exceptions:

FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
...
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load linphone-armeabi-v7a: findLibrary 
returned null

BUILD OPTIONS

The build options are to be passed to the prepare.py script. For example to enable the x264 encoder give the "-DENABLE_X264=YES" to prepare.py.

The available options can be listed with the ./prepare.py --list-features

空文件

简介

smartphone android 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/sylijinlei/linphone-android.git
git@gitee.com:sylijinlei/linphone-android.git
sylijinlei
linphone-android
linphone-android
master

搜索帮助

14c37bed 8189591 565d56ea 8189591