Intereting Posts
FragmentManager заменяет фрагменты без вызова onPause () onDestroy () для старого фрагмента Диспетчер аварийных сигналов не работает в определенный заданный интервал времени BadTokenException ActivityGroup для TabActivity, используя Живые обои Android onOffsetsChanged xPixelOffset не возвращают реальное смещение пикселей Загружать конкретную строку языка из ресурса? Как создать изменяющую цвет анимацию? (Android) Можем ли мы удалить неиспользуемые приложения из Google Play? Как вы можете продолжить прокрутку ScrollView при добавлении детей? Как обращаться с панелью действий и кнопкой меню? Правильная обработка исключения: «getParameters failed (пустые параметры)» Чтение большого текстового файла в Textview Поставщик Osmdroid -Tile с более высоким уровнем масштабирования Обновление базы данных Android Android и приложений Android – тот же OnClickListener для TextView и ImageView WebView необходимо загрузить дважды, чтобы правильно загрузить

Android – VPN на собственном слое

Просто быстрый вопрос, поскольку Google не сильно подбрасывает.

Возможно ли создать VPN-соединение с использованием собственного кода в Android?

И если это так, VPN предлагает поддержку для сохранения алива?

Я полагаю, что это будет скорее проблема с разрешениями, чем проблема с открытой или не открытой. В большинстве VPN-подключений вам потребуется изменить и получить доступ к сетевым фильтрационным вызовам вашего ядра. Поскольку ваше приложение действительно должно работать в собственной песочнице, это то, о чем я сомневаюсь, будет отображаться по умолчанию (по крайней мере, для приложений), так как вы по существу будете изменять способ, которым вся ОС маршрутизирует сетевой трафик. По той же причине, что для изменения iptables в ОС это необходимо, чтобы ваше приложение действительно могло изменить такие вещи. В этот момент я предполагаю, что соединение будет схоже с любым другим соединением vpn в любых других linux os (через демона ipsec или какого-либо прокси-дамона, который вы создаете), но вызывающему объекту потребуется фактический уровень доступа, необходимый для завершения Вызовите ядро.

Для создания VPN-соединения требуется корневое устройство. Нам нужен доступ к / data / misc / keystore и / data / misc / vpn / profiles в нашей программе.