Похоже, что это обрабатывается внутренне через классы com.android.settings.vpn2.VpnDialog (и связанные с ним), которые в основном делают KeyStore.getInstance().put("VPN_[VPN ID]", [encoded VpnProfile object]>)
- что затем вызывает файлы с именами, такими как "/ data / misc / vpn /1000_VPN_ [VPN ID] "для создания (где, по-видимому, 1000 - это идентификатор системного процесса).
Используя отражение (или один из способов взлома для доступа к скрытым / внутренним API), вы можете сделать это самостоятельно, но посколькуваш процесс не будет работать как системный процесс, системный VPN-браузер их не увидит.
Однако, согласно этому (http://code.google.com/p/android/issues/detail?id=8915), существует хотя бы одно приложение, которое делает это безрутированный телефон, но источник, кажется, недоступен ... так что, возможно, есть какой-то способ сделать это, что я не могу понять - мне определенно было бы интересно, если есть.
PS- Вот еще один похожий вопрос (хотя он специально задает вопрос об использовании рутированного устройства): Создание профиля VPN на Android