下载过linphone代码的都知道,必须使用git从linphone代码仓库clone代码,最近通过git下载最新的linphone-android代码时发现每次下载到一半就中断,
然后不得不重新去git clone,但每次都会在中途断开,也就是通过此办法无法下载带最新的linphone-android完整代码了。经过本人摸索,现将以下办法共享给大家:
首先通过git clone git://git.linphone.org/linphone-android.git --recursive 注意--recursive加上这个才是下载的完整的代码(包含各种插件,编解码模块等等),但正也是加了这个中间才会断开,个人觉得是某一个插件的git仓库服务器不稳定导致。所以我运行git命令后将git的log保存了下来
Cloning into ‘linphone-android‘... Checking connectivity... done Submodule ‘submodules/bcg729‘ (git://git.linphone.org/bcg729.git) registered for path ‘submodules/bcg729‘ Submodule ‘submodules/belle-sip‘ (git://git.linphone.org/belle-sip) registered for path ‘submodules/belle-sip‘ Submodule ‘submodules/externals/antlr3‘ (git://git.linphone.org/antlr3.git) registered for path ‘submodules/externals/antlr3‘ Submodule ‘submodules/externals/axmlrpc‘ (git://git.linphone.org/axmlrpc.git) registered for path ‘submodules/externals/axmlrpc‘ Submodule ‘submodules/externals/cunit‘ (git://git.linphone.org/cunit.git) registered for path ‘submodules/externals/cunit‘ Submodule ‘submodules/externals/ffmpeg‘ (git://git.videolan.org/ffmpeg) registered for path ‘submodules/externals/ffmpeg‘ Submodule ‘submodules/externals/gsm‘ (git://git.linphone.org/gsm.git) registered for path ‘submodules/externals/gsm‘ Submodule ‘submodules/externals/libupnp‘ (git://git.code.sf.net/p/pupnp/code) registered for path ‘submodules/externals/libupnp‘ Submodule ‘submodules/externals/libvpx‘ (http://git.chromium.org/webm/libvpx.git) registered for path ‘submodules/externals/libvpx‘ Submodule ‘submodules/externals/libxml2‘ (git://git.gnome.org/libxml2) registered for path ‘submodules/externals/libxml2‘ Submodule ‘submodules/externals/libzrtpcpp‘ (https://github.com/wernerd/ZRTPCPP.git) registered for path ‘submodules/externals/libzrtpcpp‘ Submodule ‘submodules/externals/opencore-amr‘ (git://git.code.sf.net/p/opencore-amr/code) registered for path ‘submodules/externals/opencore-amr‘ Submodule ‘submodules/externals/openssl‘ (git://git.linphone.org/android-openssl.git) registered for path ‘submodules/externals/openssl‘ Submodule ‘submodules/externals/opus‘ (git://git.opus-codec.org/opus.git) registered for path ‘submodules/externals/opus‘ Submodule ‘submodules/externals/polarssl‘ (git://git.linphone.org/polarssl.git) registered for path ‘submodules/externals/polarssl‘ Submodule ‘submodules/externals/speex‘ (git://git.linphone.org/speex) registered for path ‘submodules/externals/speex‘cd Submodule ‘submodules/externals/srtp‘ (git://git.linphone.org/srtp.git) registered for path ‘submodules/externals/srtp‘ Submodule ‘submodules/externals/vo-amrwbenc‘ (git://git.code.sf.net/p/opencore-amr/vo-amrwbenc) registered for path ‘submodules/externals/vo-amrwbenc‘ Submodule ‘submodules/externals/webrtc‘ (git://git.linphone.org/webrtc.git) registered for path ‘submodules/externals/webrtc‘ Submodule ‘submodules/externals/x264‘ (git://git.videolan.org/x264.git) registered for path ‘submodules/externals/x264‘ Submodule ‘submodules/libilbc-rfc3951‘ (git://git.linphone.org/libilbc-rfc3951.git) registered for path ‘submodules/libilbc-rfc3951‘ Submodule ‘linphone‘ (git://git.linphone.org/linphone) registered for path ‘submodules/linphone‘ Submodule ‘submodules/msamr‘ (git://git.linphone.org/msamr) registered for path ‘submodules/msamr‘ Submodule ‘submodules/msilbc‘ (git://git.linphone.org/msilbc.git) registered for path ‘submodules/msilbc‘ Submodule ‘submodules/msisac‘ (git://git.linphone.org/msisac.git) registered for path ‘submodules/msisac‘ Submodule ‘submodules/mssilk‘ (git://git.linphone.org/mssilk.git) registered for path ‘submodules/mssilk‘ Submodule ‘submodules/msx264‘ (git://git.linphone.org/msx264.git) registered for path ‘submodules/msx264‘ Cloning into ‘submodules/bcg729‘... Checking connectivity... done Submodule path ‘submodules/bcg729‘: checked out ‘31a89d7d951200f6c86f800ca017184700bd0917‘ Cloning into ‘submodules/belle-sip‘... Checking connectivity... done Submodule path ‘submodules/belle-sip‘: checked out ‘6d0a3031a8ee5c53a9dc4e126b54a3f82ccf56b9‘ Cloning into ‘submodules/externals/antlr3‘...
大家可以看到,clone完基本的linphone-android代码后就会分别去clone 它所依赖的插件以及编码部分,并且log中可以看到每个仓库的地址,比如第一个要clone的bcg729 模块,它的地址是git://git.linphone.org/bcg729.git ,所以我们可以单独去clone剩余的模块
git clone git://git.linphone.org/bcg729.git submodules/bcg729 --recursive ,其他也是如此。并且你会发现,clone其中某一两个的时候有可能需要几次操作才能成功,不过没关系,最终只要成功即可。
以上即为linphone-android 代码下载,关于编译可能更加麻烦,将抽空再写一篇blog记录。