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) *** 在线联系博主***
+1(323)529-5889

TeleGram联系

WhatsAPP联系

上一篇:

下一篇:

相关推荐

博客简介

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

精彩评论

关于VmShell INC

VMSHELL INC 是一家成立于2021年的美国云计算服务公司,总部位于怀俄明州谢里丹,专注于提供全球数据中心的虚拟机服务器租赁和全球金融服务。 公司旗下品牌包括VmShell 和ToToTel,业务覆盖亚洲和美洲以及欧洲,致力于为外贸企业提供高效、稳定的网络解决方案。购买CMI香港服务器

站点统计

  • 文章总数: 3122 篇
  • 草稿数目: 5 篇
  • 分类数目: 9 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 47468 个
  • 注册用户: 139 人
  • 访问总量: 8,674,881 次
  • 最近更新: 2025年11月11日