红联Linux门户
Linux帮助

Ubuntu下,编译StrongSwan的Android库文件

发布时间:2017-01-27 10:01:04来源:linux网站作者:杭州山不高
官方网址:https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClientBuild
Ubuntu下,编译StrongSwan的Android库文件
说明:按照官方文档,SDK和NDK的编译,它没讲,让参考Google的Android编译的相关文档。
而Google推荐的编译环境是Ubuntu,切记!(我用CentOS编,各种错,还是切回来了)。
Ubuntu可以用VMware安装,然后,配置共享目录。
 
一、编译StrongSwan
0、安装编译所需的工具。
sudo apt-get install gcc automake autoconf libtool pkg-config gettext perl python flex bison gperf lcov doxygen
1、下载strongswan源码,解压。
wget https://github.com/strongswan/strongswan/archive/5.4.0rc1.tar.gz
tar -zxvf 5.4.0rc1.tar.gz 
2、切换到jni下,建立链接。
cd strongswan-5.4.0rc1/
cd src/frontends/android/app/src/main/jni
ln -s ../../../../../../../ strongswan
3、转到根目录,执行配置并编译的命令。
cd ../../../../../../../
./autogen.sh && ./configure && make
注意事项
在执行命令configure 的时候,报错:
checking for main in -lgmp... no
configure: error: GNU Multi Precision library gmp not found
用如下命令安装下gmp就解决了:
sudo apt-get install libgmp-dev
 
二、配置NDK环境
1、安装编译工具
sudo apt-get install build-essential
2、下载NDK并解压
wget http://dl.google.com/android/repository/android-ndk-r11b-linux-x86_64.zip
unzip android-ndk-r11b-linux-x86_64.zip
3、配置NDK环境参数
gedit ~/.bashrc,打开 ~/.bashrc文件,在最后加两行,以配置PATH变量:
export NDK_HOME=/home/hill/work/android-ndk-r11b
export PATH=$PATH:$NDK_HOME
source ~/.bashrc,使它立即生效。
测试配置:
echo $NDK_HOME
ndk-build -v
 
三、编译Android库
1、编译
cd strongswan-5.4.0rc1/src/frontends/android/app/src/main/jni
git clone git://git.strongswan.org/android-ndk-openssl.git -b ndk-static openssl
ndk-build
另外,NDK其他的编译命令如下:
ndk-build         编译
ndk-build clean     清掉二进制文件
ndk-build NDK_DEBUG=1    编译为可调试版的二进制文件
ndk-build NDK_DEBUG=0    编译为release版
ndk-build V=1        执行ndk-build且打印出它所执行的详细编译命令。
ndk-build -B         强制重新编译
ndk-build -B V=1     -B 和 V=1 的组合
ndk-build -C <project路径>  先cd进入<project路径>,然后执行ndk-build。
2、查看编译结果
ll -R ../libs,-R表示递归查看子目录。
3、导出so库文件
cp -R ../libs /mnt/hgfs/share/
导出到share共享文件夹下,Windows下可用。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/27968.html