No description
Find a file
Guillaume BIENKOWSKI d5390388d3 Zip the sent logs so that it is harder to hit the intent storage limit (about 1MB).
We store the zip file in the external access, always in the same file, so it should not add too much storage.
2014-07-01 14:13:34 +02:00
jni Build the iSAC codec and the WebRTC echo canceller from the mswebrtc plugin. 2014-06-13 14:59:23 +02:00
liblinphone_tester fix android liblinphone tester 2013-12-02 17:09:00 +01:00
libs Use submodule for aXMLRPC. 2013-03-18 12:38:41 +01:00
patches add patch to openh264 decoder for more permissive decoding 2014-04-15 18:14:56 +02:00
res Add AVPF settings. 2014-06-06 16:45:17 +02:00
sample Added sample app 2014-02-20 16:01:25 +01:00
src/org/linphone Zip the sent logs so that it is harder to hit the intent storage limit (about 1MB). 2014-07-01 14:13:34 +02:00
submodules update linphone for ms2 fixes 2014-06-30 17:21:02 +02:00
tests Fix tests compil 2014-04-14 11:09:58 +02:00
.classpath add opus 2013-09-16 11:54:16 +02:00
.gitignore Ignore autogenerated files 2014-06-18 16:51:27 +02:00
.gitmodules Replace msisac submodule by mswebrtc. 2014-06-13 11:42:00 +02:00
.project add ilbc 2010-06-30 09:54:16 +02:00
AndroidManifest.xml Revert "Removed useless permission in manifest", actually it's needed 2014-04-02 11:38:24 +02:00
ant.properties Use submodule for aXMLRPC. 2013-03-18 12:38:41 +01:00
build.xml Remove useless code. 2013-10-21 17:26:05 +02:00
check_tools.sh Merge branch 'master' into bellesip 2013-02-06 12:22:28 +01:00
custom_rules.xml update belle-sip and linphone 2014-03-24 16:35:41 +01:00
deliver_sdk.sh Updated deliver_sdk script 2012-12-07 12:20:10 +01:00
Makefile Add mkv video recorder 2014-06-10 15:12:17 +02:00
README improve openh264 build and update belle-sip 2014-04-16 15:29:06 +02:00

			   LINPHONE for ANDROID
			****************************

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.
1) download the Android ndk (>=r9d) 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
	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
3) run the Makefile script in the top level directory. This will download iLBC source files and convert some assembly files in VP8 project.
	$ make
4) To install the generated apk into a plugged device, run
	$ make install
5) (Optional) To generate a liblinphone SDK zip containing a full jar and native libraries, run
	$ make linphone-sdk
6) (Optional) To generate a libmediastreamer2 SDK zip containing a full jar and native libraries, run
	$ make mediastreamer2-sdk

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.
2) compile again using make && 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 <!-- Change package ! --> appears
3) update the path to the sounds in the linphonerc-factory files in the res folders
4) run again the Makefile script by calling "make"


			   TROUBLESHOOTING
			*****************************

If you encounter troubles with the make clean target and you are using the 8e android ndk, the solution can be found here: https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/3wIbb-h3nDU

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
...

			   CUSTOMIZATION
			*****************************

Some options can be passed to make, like "make SOME_OPTION=SOME_VALUE".

ENABLE_GPL_THIRD_PARTIES
	values: 0 (GPL third parties disabled) or 1 (GPL third parties enabled), default value: 1
	GPL third parties are: X264 and G729

BUILD_VIDEO
	values: 0 (no video) or 1 (video enabled), default value: 1

BUILD_X264
	values: 0 (don't build x264) or 1 (build x264), default value: 1

BUILD_AMRNB          
	values: 0 (don't build amrnb codec), light (try to use amrnb codec from android), full (build your own amrnb codec), default value: full

BUILD_AMRWB
	values: 0 (don't build amrwb codec), 1 (build your own amrwb codec): default value: 1

BUILD_ZRTP
	values: 0 (don't support ZRTP), 1 (support ZRTP), default value: 1

BUILD_SILK            
	values: 0 (don't build silk plugin), 1 (build silk) [silk is Skype nonfree patented audio codec], default value: 1

BUILD_G729
	values: 0 (don't build g729 plugin), 1 (build g729) [g729 is nonfree patented audio codec, contact Sipro lab for more details]
	default value: 1

BUILD_TUNNEL
	values: 0 (don't build tunnel), 1 (build tunnel) [requires a non-free tunnel implementation in submodules/linphone/tunnel]
	default value: 0

BUILD_WEBRTC_AECM
	values: 0 (don't build echo canceler), 1 (build echo canceler)
	default value: 1

USE_JAVAH
	values: 0 (don't generate header), 1 (generate header for linphone_core_jni) [used to check errors at liblinphone compilation]
	default value: 1

BUILD_FOR_X86
	values: 0 (don't generate liblinphone libraries for x86 architecture), 1 (build liblinphone libraries for x86 architecture)
	default value: 1

BUILD_SQLITE
	values: 0 (don't build sqlite3), 1 (build sqlite3) [used to store chat messages inside liblinphone]
	default value: 1

BUILD_TLS
	values: 0 (don't build tls), 1 (do build tls), default value: 1

BUILD_WEBRTC_ISAC
	values: 0 (don't build isac), 1 (do build isac), default value: 1

BUILD_OPUS
	values: 0 (don't build opus), 1 (do build opus), default value: 1

BUILD_UPNP
	values: 0 (don't build upnp), 1 (do build upnp), default value: 1