Make ipv6 work, document liblinphone_tester compilation.

This commit is contained in:
Simon Morlat 2014-11-13 22:54:26 +01:00
parent 14ef834a32
commit b4a81b9122
4 changed files with 24 additions and 9 deletions

View file

@ -454,6 +454,7 @@ update-mediastreamer2-project:
liblinphone_tester: prepare-sources prepare-cunit prepare-liblinphone_tester javah liblinphone_tester: prepare-sources prepare-cunit prepare-liblinphone_tester javah
$(NDK_PATH)/ndk-build -C liblinphone_tester $(LIBLINPHONE_OPTIONS) -j$(NUMCPUS) TARGET_PLATFORM=$(ANDROID_MOST_RECENT_TARGET) $(NDK_PATH)/ndk-build -C liblinphone_tester $(LIBLINPHONE_OPTIONS) -j$(NUMCPUS) TARGET_PLATFORM=$(ANDROID_MOST_RECENT_TARGET)
$(MAKE) -C liblinphone_tester
javah: javah:
ant javah ant javah

24
README
View file

@ -1,7 +1,12 @@
LINPHONE for ANDROID ****************************
* LINPHONE for ANDROID *
**************************** ****************************
COMPILATION INSTRUCTIONS
************************
To build liblinphone for Android, you must: To build liblinphone for Android, you must:
-------------------------------------------
0) download the Android sdk with platform-tools and tools updated to latest revision (at least API 16 is needed), then add both 'tools' and 'platform-tools' folders in your path. 0) download the Android sdk with platform-tools and tools updated to latest revision (at least API 16 is needed), then add both 'tools' and 'platform-tools' folders in your path.
1) download the Android ndk (=r9d to target devices with Android < 5 or =r10c to target devices with Android >= 5) from google and add it to your path (no symlink !!!). 1) download the Android ndk (=r9d to target devices with Android < 5 or =r10c to target devices with Android >= 5) from google and add it to your path (no symlink !!!).
2) install yasm, nasm, curl, ant, rsync and the autotools: autoconf, automake, aclocal, libtoolize, pkgconfig 2) install yasm, nasm, curl, ant, rsync and the autotools: autoconf, automake, aclocal, libtoolize, pkgconfig
@ -25,21 +30,30 @@ Make sure you filled the ant.properties values for key.store and key.alias in or
sign the generated apk (it will ask you the password during the process) sign the generated apk (it will ask you the password during the process)
To run the tutorials: To run the tutorials:
--------------------
1) open the res/values/non_localizable_custom.xml file and change the value of the show_tutorials_instead_of_app to true. 1) open the res/values/non_localizable_custom.xml file and change the value of the show_tutorials_instead_of_app to true.
2) compile again using make && make install. 2) compile again using make && make install.
3) /!\ don't forget to put it back to false to run the linphone application normally. /!\ 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: 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 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 <!-- Change package ! --> appears 2) also update the values in the AndroidManifest file where the comment <!-- Change package ! --> appears
3) update the path to the sounds in the linphonerc-factory files in the res folders and optionally change default sip account on linphonerc-default 3) update the path to the sounds in the linphonerc-factory files in the res folders and optionally change default sip account on linphonerc-default
4) run again the Makefile script by calling "make" 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 https://ccache.samba.org/). Simply export: You can speed up the compilation by using ccache (compiler cache, see https://ccache.samba.org/). Simply export:
export NDK_CCACHE=ccache export NDK_CCACHE=ccache
TROUBLESHOOTING TROUBLESHOOTING
***************************** ***************
If you encounter the following issue: 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"... 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. Use ndk r9 to fix this. 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. Use ndk r9 to fix this.
@ -53,8 +67,8 @@ java.lang.ExceptionInInitializerError
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load linphone-armeabi-v7a: findLibrary returned null Caused by: java.lang.UnsatisfiedLinkError: Couldn't load linphone-armeabi-v7a: findLibrary returned null
... ...
CUSTOMIZATION BUILD OPTIONS
***************************** *************
Some options can be passed to make, like "make SOME_OPTION=SOME_VALUE". Some options can be passed to make, like "make SOME_OPTION=SOME_VALUE".

@ -1 +1 @@
Subproject commit adac1d173a97a96f6c5bb9d2a2301c35a738d8b7 Subproject commit 8499138370776602bb6d61c1a4e48b1d44200cb0

@ -1 +1 @@
Subproject commit c0b7ae8359a83deac4814f3047bcb9764599d1dc Subproject commit 32e7ffe2bd03b789f7e6f4ac2dcba5f3122abf5a