我正在寻找一种解决方案来打开L2TP/IPSEC
来自 android 应用程序的连接,这样我就可以简单地通过server ip
, pre-shared key
,username
等password
设备连接到这个 VPN 服务器
我在这里查看https://developer.android.com/reference/android/net/VpnService.html,我们需要扩展和构建我们自己的 VPN 解决方案来做到这一点。
是否有任何可用的解决方案,以便我们可以使用它而不是重新发明轮子?
我尝试了以下实现,VpnService
但没有一个对我有用
- https://android.googlesource.com/platform/development/+/master/samples/ToyVpn/src/com/example/android/toyvpn
- https://pomgit.com/limeysoft/L2TP-VPN/tree/master/app
并尝试了这个
并得到以下错误
mtpd:启动 VPN 守护进程:mtpd W/libc:将属性“ctl.start”设置为“mtpd” 无法将属性“ctl.start”设置为“mtpd”:连接失败;errno=13(权限被拒绝) E/SysPropJNI: SystemProperties_set key:ctl.start,val:mtpd W/System.err: java.io.IOException: cannot start service: mtpd W/System.err: at com.mega.speed .vpn.DaemonProxy.start(DaemonProxy.java:58) W/System.err: at com.mega.speed.vpn.VpnDaemons.startDaemon(VpnDaemons.java:92) at com.mega.speed.vpn.VpnDaemons.startMtpd (VpnDaemons.java:113) at com.mega.speed.vpn.VpnDaemons.startL2tp(VpnDaemons.java:36) W/System.err: at com.mega.speed.vpn.L2tpService.connect(L2tpService.java:16 ) 在 com.mega.speed.fragments.HotspotFragment.onCreateView(HotspotFragment.java:
在 android.os.Handler.dispatchMessage(Handler.java:101) 在 android.os.Looper.loop(Looper.java:166) W/System.err: 在 android.app.ActivityThread.main(ActivityThread.java:7529 ) W/System.err: 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) W/System.err: 在 com .android.internal.os.ZygoteInit.main(ZygoteInit.java:921)