Linuxword Global
当前位置: 通信协议 > Android开源VPN客户端之ICS OpenVPN

v2-3464a3d81ab42dc39e5a9e54aa823e01_1440w

OpenVPN for Android

1. 简介

Android API level 14+提供了VPNService 服务框架,在不root的情况下,开发者可以创建自己的VPN服务应用。

目前主要有三种,分别为OpenVPN for Android(ICS OpenVPN),OpenVPN Connect,OpenVPN Settings。

OpenVPN for Android和OpenVPN Connect使用官方VPNService API (Android 4.0+),不需要root权限,而OpenVPN Settings需要root权限。

OpenVPN for Android是一个开源的客户端,由Arne Schwabe开发,他定位于更高级的用户,提供更多的设置,它可以在app内导入配置文件。

OpenVPN Connect是一个不开源的客户端,它由OpenVPN Technologies , Inc. 开发,它定位于普通用户,它基于OpenVPN协议的C++实现。

OpenVPN Settings是最老的客户端,需要root权限,它并不使用VPNService API。

2. 编译OpenVPN for Android

2.1 开发环境搭建

Ubuntu16,Android Studio,NDK,SDK

首先在Ubuntu下安装Android studio,安装完毕后,使用sdk manager工具安装sdk。

关于NDK,可以使用sdk manager来下载,不过在编译源码的过程中出现了错误,经过尝试发现sdk manager下载的是14版本的ndk,而14版本的ndk编译OpenVPN for Android会出现错误,建议使用12版本的ndk。

2.2 配置环境变量

安装完Android studio,解压完ndk后,需要配置环境变量。

/home/bleach/android-studio/bin Android studio安装目录

/home/bleach/Android/android-ndk-r12b ndk解压目录

进入用户目录(cd /home/bleach),打开配置文件(vim .bashrc),添加如下内容:

export PATH=$PATH: /home/bleach/android-studio/bin: /home/bleach/Android/android-ndk-r12b

2.3 获取OpenVPN for Android源码
打开搜索引擎,输入ics openvpn,进行搜索,然后进入ics openvpn的github主页,选择master分支里的一个已经添加标签的版本,本文选择的是0.6.64版本的源码。

进入Ubuntu命令行,创建一个源码目录,然后使用git clone命令将源码下载到本地。

mkdir ics-openvpn-v0.6.64
cd ics-openvpn-v0.6.64
git clone https://github.com/schwabe/ics-openvpn.git

2.4 编译源码

step1:进入ics-openvpn-v0.6.64/ics-openvpn目录,修改.gitmodules文件。
cd ics-openvpn-v0.6.64/ics-openvpn
ls –a
vim .gitmodules
将.gitmodules文件中的url更改掉。

[submodule "main/openvpn"]
path =main/openvpn
url =https://github.com/schwabe/openvpn.git
[submodule "main/openssl"]
path =main/openssl
url =https://github.com/schwabe/platform_external_openssl.git
[submodule "main/breakpad"]
path =main/breakpad
url =https://github.com/schwabe/breakpad.git

step2:执行指令 sudo git submodule sync
step3:然后执行指令 git submodule init
step4:然后执行指令 git submodule update
upate指令会消耗一定的时间。
step5:最后进入ics-openvpn-v0.6.64/ics-openvpn/main目录,执行./misc/build-native.sh,等待编译完成,可能需要修改build-native.sh的执行权限。

cd main
chmod +x ./mics/build-native.sh
./misc/build-native.sh

3. 编译常见问题
3.1 ndk-build not found
未配置ndk环境变量,请参考2.2。

3.2 各种编译错误,比如unknown directive。
很有可能是ndk版本的问题,请使用12版本的ndk尝试编译。

3.3 cannot find .git directory in openvpn,aborting
不要在github上下载zip包的源码,请使用git clone指令将源码下载到本地。

4. 导入源码
将源码导入到Android studio中,目前OpenVPN for Android不支持导入到eclipse中,请使用Android studio开发环境。
打开Android studio,将源码导入,Android studio会自动更新gradle信息,更新完毕后,编译工程,就会生成对应apk包。

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2342 篇
  • 草稿数目: 13 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 6121 个
  • 注册用户: 139 人
  • 访问总量: 8,664,056 次
  • 最近更新: 2024年4月30日