MAC OS编译Android版Linphone SDK和APP

来源:互联网 发布:黑客攻防编程解析 编辑:程序博客网 时间:2024/06/05 06:25
之前在MAC OS折腾编译iOS版linphone-iphone SDK和APP成功,下一步继续编译Android版的linphone-android。Android版的文档更简单,一个README.TXT就结束,然后各种调查。

简单说明一下linphone
Linphone is an open source SIP Phone, available on mobile and desktop environments (iOS, Android, Windows Phone 8, Linux, Windows Desktop, MAC OSX) and on web browsers.
Linphone has inside a separation between the user interfaces and the core engine, allowing to create various kinds of user interface on top of the same functionalities.



编译环境
MAC OS 10.10.5
JAVA 1.8
Android SDK 19.0.1
Android NDK 10c

以下是编译的方法步骤,600M的源代码官方只提供一段README文件来说明。

1. 安装最新版本的Android SDK和保证platform-tools and tools是最新状态,推荐使用Android19作为基准版本,官方支持Android16。 这里可能需要用到VPN。
2. 安装android NDK,到官方下载即可,国内可能需要用到VPN。
3. 安装一堆编译用的工具和依赖包,大部分用brew即可搞定, libtool,rsync 这两位在mac 下叫glibtool和grsync。
yasm, nasm, curl, ant, rsync, autoconf, automake, aclocal, libtool, pkgconfig, bc, perl-LWP-Protocol-https, patch, vim-common
4.下载linphone的源代码,代码包比较大,关联内容较多,建议VPN下下载

git clone git://git.linphone.org/linphone-android.git --recursive

5.配置好环境变量,确认JAVA ANT SDK和NDK是否配置正确

# JAVA
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home;

# ANT
export ANT_HOME=~/apache-ant-1.9.6;
export PATH=${PATH}:${ANT_HOME}/bin;

# Android
export ANDROID_HOME=~/android-sdk-macosx;
export PATH=${PATH}:${ANDROID_HOME}/platform-tools;
export PATH=${PATH}:${ANDROID_HOME}/tools;

# Android
export ANDROID_NDK_HOME=~/android-ndk-r10c;
export PATH=${PATH}:${ANDROID_NDK_HOME};

#classpath
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar;

6.确认工具是否安装完成,使用代码目录下的check_tools 即可

./check_tools.sh

7.以上确认完成后,即可用make命令或make install命令进行编译和安装测试了。

编译中出现的问题与解决
1.提示找不到libtoolize,要求安装libtool,原因是MAC OS上libtool和libtoolize这两位改成了glibtoolize和glibtool。连接一下即可。rsync如果出现问题,同样处理即可

sudo ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
sudo ln -s /usr/local/bin/grsync /usr/local/bin/rsync


2. /src/org/linphone/compatibility/ApiTwentyOnePlus.java 出现无法找到符号(symbol)错误。
原因是SDK中的兼容包内容问题,我的处理方法是直接删除ApiTwentyOnePlus.java,然后后把/src/org/linphone/compatibility/Compatibility.java里的编译错误修改掉即可,貌似后面编译没有出问题。

3.Ant编译提示Class not found javac1.8,网上查询后说是因为ant的版本较低导致在JDK 1.8环境下无法找到javac1.8
我由于开发需要,安装了多个ant版本,处理方法就是单独安装一套ant并把ant_home设置指向即可。

4.提示zipalgin not found问题,把tools下的zipalign复杂到build-tools\android-xx下即可。

最后提供一段编译用的SHELL脚本

# JAVA
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home;

# ANT
export ANT_HOME=~/apache-ant-1.9.6;
export PATH=${PATH}:${ANT_HOME}/bin;

# Android
export ANDROID_HOME=~/android-sdk-macosx;
export PATH=${PATH}:${ANDROID_HOME}/platform-tools;
export PATH=${PATH}:${ANDROID_HOME}/tools;

# Android
export ANDROID_NDK_HOME=~/android-ndk-r10c;
export PATH=${PATH}:${ANDROID_NDK_HOME};

#classpath
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar;

# check_tools
./check_tools.sh

# make
make install


参考
http://blog.csdn.net/zhengxinwcking/article/details/37996593
http://www.eoeandroid.com/forum.php?mod=viewthread&tid=540489&_dsign=93906cff




--------------------------------------------------------------------------------------

- 版权声明:

- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。

- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。

- 文章标题: MAC OS编译Android版Linphone SDK和APP

- 独立博客:李大仁博客

- 永久链接:http://www.lidaren.com/archives/1592

--------------------------------------------------------------------------------------

以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。




0 0
原创粉丝点击