Wie konfiguriere ich VPN programmatisch auf Android?

Ich muss eine Android-App implementieren, mit der der Benutzer eine VPN-Verbindung konfigurieren kann, ohne auf das native Menü des Android-Geräts zugreifen zu müssen. Damit habe ich zwei Probleme:

In Android 4.0 + (API-Level 14 und höher) habe ich eine neue Komponente namens VpnService gefunden, die einen Hook zum Erstellen einer virtuellen Netzwerkschnittstelle, zum Konfigurieren und Abfangen / Weiterleiten von Pachets an einen VPN-Server bereitstellt. Es gibt jedoch keine Eingebaute VPN-Protokolle wie PPTP oder IPSec bieten lediglich die Möglichkeit, diese zu implementieren. Meine Frage ist, gibt es eine fertige Lösung für PPTP und IPSec mit VpnService arbeiten?

In früheren Android-Versionen scheint die einzige Möglichkeit, VPN zu verwenden, darin zu bestehen, auf die integrierte VPN-Lösung des Geräts zuzugreifen und diese zu konfigurieren, indem einige versteckte APIs in Android eingeschlossen werden (mithilfe von Reflektion) Die Lösung ist umständlich, da das Gerät gerootet werden muss. Außerdem können sich die versteckten API-Implementierungen von Gerät zu Gerät und von Betriebssystem zu Betriebssystem unterscheiden. Gibt es eine bessere Möglichkeit, das integrierte VPN des zugrunde liegenden Linux-Betriebssystems programmgesteuert zu konfigurieren?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage