使用VpnService在android 4.0中创建VPN

时间:2012-04-18 17:41:44

标签: android vpn

我想在android 4.0平台上创建一个像PPTP,IPSec等的VPN连接。

Android 4.0为我们提供了一个名为VpnService的新类,我已经查看了演示项目ToyVpn,但我仍然遇到了一些问题。

ToyVpn似乎创建了一个自定义vpn实现,我们需要处理vpn连接的细节。

我只想创建类似系统设置活动的vpn,所以任何人都有所了解?请让我知道...

PS。在android 2.3和早期,我们可以使用反射来调用系统隐藏类来创建类似系统设置页面的vpn。但是从Android 4.0开始它不再起作用了。

谢谢! Ruochao

1 个答案:

答案 0 :(得分:2)

我知道它已经有一段时间了,但我现在一直在为此烦恼,并且认为我会为那些遇到此事的人提供帮助。

Android已经在Android 4.0+的API中提供了VpnService类。此类允许用户登陆应用程序(即您的应用程序)将DNS请求和请求匹配已定义的路由重定向到由您的应用程序管理的新TUN类接口。这不是开箱即用的加密工具,也不是我们对通常的VPN所期望的任何东西。

其他人可以使用变体:

这些项目中的每一个都使用JNI将Android VpnService桥接到移植到Android的现有VPN解决方案。