Crear perfil VPN en Android

¿Es posible crear un perfil VPN de forma programática en Android (suponiendo que tenga un dispositivo con raíz)?

Si es posible, ¿cómo?

Gracias.

Debe consultar el paquete com.android.settings.vpn2. Allí utiliza los métodos @hidden KeyStore para manipular VPNs:

  • KeyStore.getInstance().saw(Credentials.VPN) devuelve una matriz de ID de VPN de cadena

  • VpnProfile.decode(KeyStore.getInstance().get(Credentials.VPN + vpn_id)) obtiene los datos de configuración VPN para el ID VPN dado y lo decodifica como un objeto VpnProfile.

  • VpnProfile.put(Credentials.VPN + vpn_id, someVpnProfileInstance.encode()) creará / actualizará una conexión VPN con el ID dado usando la configuración en la instancia VpnProfile.

Sin embargo, tendrá que ejecutar esto como el proceso del sistema; de lo contrario, la instancia de KeyStore que obtenga no estará conectada a la que utiliza el sistema operativo.

Si hay una manera de hacer esto sin un dispositivo enraizado, estaría interesado en saber cómo …

PS – Hay una pregunta similar aquí: ¿Cómo crear una nueva interfaz de VPN con Android 4.0?

  • ¿Hay alguna manera de crear un proxy HTTP en VPN en Android?
  • Android: Código de ejemplo para usar la conexión VPN propia en Android 4.0 mediante VPNService API
  • VpnService Android 4.0
  • Método para pasar nombre de usuario y contraseña en VpnService.Builder
  • Cómo conectarse al servidor de Microsoft VPN con la autenticación MSCHAPV2
  • Configurar VPN de forma programática en android
  • Android - VPN en la capa nativa
  • Desvío de paquetes VPN
  • Cómo conectarse a una VPN, que ya está configurada en un teléfono Android, mediante programación
  • Conectar pptp vpn con android vpnservice
  • Determinación de Android VPN Interfaz / IP?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.