【问题标题】:Create VPN profile on Android在 Android 上创建 VPN 配置文件
【发布时间】:2012-03-31 21:01:22
【问题描述】:

是否可以在 Android 上以编程方式创建 VPN 配置文件(假设我有一个 root 设备)?

如果可以,怎么做?

谢谢。

【问题讨论】:

    标签: android root vpn


    【解决方案1】:

    您应该查看 com.android.settings.vpn2 包。它使用@hidden KeyStore 方法来操作VPN:

    • KeyStore.getInstance().saw(Credentials.VPN) 返回一个字符串 VPN ID 数组

    • VpnProfile.decode(KeyStore.getInstance().get(Credentials.VPN + vpn_id)) 获取给定 VPN ID 的 VPN 配置数据并将其解码为 VpnProfile 对象。

    • VpnProfile.put(Credentials.VPN + vpn_id, someVpnProfileInstance.encode()) 将使用 VpnProfile 实例中的设置创建/更新具有给定 ID 的 VPN 连接。

    但是,您需要将其作为系统进程执行——否则,您获得的 KeyStore 实例将无法连接到操作系统使用的实例。

    如果有办法做到这一点没有根设备,我很想知道如何......

    附: - 这里有一个类似的问题:How to programmatically create a new VPN interface with Android 4.0?

    【讨论】:

    • 这可以在不root设备的情况下完成。只需访问隐藏的 API,其余的只需 google 一下即可。
    • @slott 如何获得对隐藏 API 的访问权限?
    • 我尝试关注该博客,但似乎我无法从 framework.jar 模拟器中提取 classes.dex 以及设备甚至没有根植根。我错过了一些明显的东西吗??
    猜你喜欢
    • 2018-12-07
    • 2012-06-25
    • 2013-09-27
    • 2017-11-19
    • 2015-01-04
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多