我正在寻求实现从android应用程序打开L2TP/IPSEC
连接的解决方案,因此我可以简单地传递server ip
,pre-shared key
,username
和password
,因此设备已连接到此VPN服务器
我看过这里https://developer.android.com/reference/android/net/VpnService.html,我们需要扩展并构建自己的VPN解决方案来做到这一点。
是否有任何可用的解决方案,所以我们可以用它代替重新发明轮子吗?
我尝试了以下VpnService
的实现,但没有一个对我有用
并尝试过此
并收到以下错误
mtpd:启动VPN守护进程:mtp W / libc:将属性“ ctl.start”设置为“ mtpd”无法将属性“ ctl.start”设置为“ mtpd”:连接失败; errno = 13(权限被拒绝)E / SysPropJNI:SystemProperties_set键:ctl.start,val:mtpd W / System.err:java.io.IOException:无法启动服务:mtp W / System.err:在com.mega.speed.vpn.DaemonProxy.start(DaemonProxy.java:58)W / System.err:位于com.mega.speed.vpn.VpnDaemons.startDaemon(VpnDaemons.java:92)在com.mega.speed.vpn.VpnDaemons.startMtpd(VpnDaemons.java:113)在com.mega.speed.vpn.VpnDaemons.startL2tp(VpnDaemons.java:36)W / System.err:位于com.mega.speed.vpn.L2tpService.connect(L2tpService.java:16)在com.mega.speed.fragments.HotspotFragment.onCreateView(HotspotFragment.java:125)W / System.err:位于android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)W / System.err:位于android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)W / System.err:位于android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)在android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)W / System.err:位于android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)在android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)W / System.err:位于android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)在android.support.v4.app.FragmentManagerImpl $ 1.run(FragmentManager.java:733)在android.os.Handler.handleCallback(Handler.java:808)W / System.err处:在android.os.Handler.dispatchMessage(Handler.java:101)在android.os.Looper.loop(Looper.java:166)W / System.err:atandroid.app.ActivityThread.main(ActivityThread.java:7529)W / System.err:位于java.lang.reflect.Method.invoke(本机方法)在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:245)W / System.err:位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)