只是一个快速的问题,因为谷歌并没有抛出太多。
是否可以在 Android 中使用本机代码创建 VPN 连接?
如果是这样,VPN 是否提供对保持活力的支持?
只是一个快速的问题,因为谷歌并没有抛出太多。
是否可以在 Android 中使用本机代码创建 VPN 连接?
如果是这样,VPN 是否提供对保持活力的支持?
我相信这将是一个权限问题,而不是暴露或未暴露的问题。大多数 VPN 连接都需要您修改和访问内核的网络过滤调用。由于您的应用程序确实应该在其自己的沙箱中运行,因此我怀疑默认情况下会暴露(至少对应用程序),因为您实际上是在修改整个操作系统路由网络流量的方式。出于同样的原因,为了修改操作系统中的 iptables,它需要被植根,这样你的应用程序才能真正改变这些东西。那时我会假设连接将类似于任何其他 linux 操作系统中的任何其他 vpn 连接(通过 ipsec 守护进程或您创建的某些代理守护进程),但调用实体需要完成所需的实际访问级别调用内核。
创建 VPN 连接需要设备的 Root 权限。我们需要在我们的程序中访问 /data/misc/keystore 和 /data/misc/vpn/profiles。