Sstp клиент для андроида
Краткое описание:
Клиент SSTP VPN
Описание:
MS-SSTP (Microsoft Secure Socket Tunneling Protocol) это VPN протокол который разработан корпорацией Microsoft. Он реализовывает PPP поверх HTTPS (SSL).
Приложение MS-SSTP VPN позволяет вам настроить или испортить TLS параметры для FBT/UBT.
Если вы не знаете что такое FBT/UBT, тогда пожалуйста не устанавливайте это приложение и не засоряйте неуместными отзывами/оценками.
На данный момент поддерживаются поставщики серверов:
1. Mikrotik
2. Hideme
3. VPN Gate
4. Azure
5. SoftEther
. и так далее
Скорость и быстродействие может зависеть от поставщика сервера.
Если вы не знаете где получить эти сервера, пожалуйста не устанавливайте это приложение и не оценивайте ненадлежащим образом. Об ошибках, запросах и предложениях, отправляйте мне письмо на эл. почту или сообщайте в Telegram канал указанный ниже.
Совет по устранению проблем:
Некоторые поставщики серверов не предоставляют поддержку PAP аутентификации поэтому нам нужно отключить её, перейдя в Настройки > Прочее > Метод аутентификации, затем снять метку с PAP, и сохранить.
Перевёл: $_Vladislav
MS-SSTP (Microsoft Secure Socket Tunneling Protocol) is a VPN protocol which is developed by Microsoft Corporation. It implements PPP over HTTPS (SSL).
MS-SSTP VPN app lets you configure or spoil TLS parameters for FBT/UBT.
If you don’t know what FBT/UBT is, then please do not install this app and litter inappropriate reviews/ratings.
Currently Supported Server Providers:
1. Mikrotik
2. Hideme
3. VPN Gate
4. Azure
5. SoftEther
. and so on
The speed and performance may depend on the server provider.
If you don’t know where to get those servers, please don’t install this app or rate inappropriately. For bugs, queries and suggestions, do send me an email or do report in the Telegram channel listed below.
Troubleshooting Tip:
Some server provider doesn’t provide support for PAP authentication so we need to disable it, go to Setting > Misc > Authentication Method, then uncheck PAP, and Save.
В приложении есть свой список серверов. Он повляеться после снятия галки у config.
Требуется Android: 4.1+
Русский интерфейс: Нет
Версия: 1.5.10 No_ADS (Danil_64)
Версия: 1.4.32 NoADS MS-SSTP_signed.apk ( 417.87 КБ )
Источник
Sstp клиент для андроида
Краткое описание:
VPN клиент для OpenVpn, WireGuard, SSTP, SoftEther, OpenConnec
Описание:
With this app you will able to connect to any OpenVPN (TUN/TAP), SSTP, WireGuard, SoftEther, OpenConnect (ocserv) servers and Cisco AnyConnect SSL gateways.
The basic OpenVPN feature is free for all. To use other protocols and features you need to buy a subscription.
There is not needed to have the root access, because the VPN tun device is handled with the VpnService API introduced with Android 4.0 (ICS).
OpenVPN TAP device support without root permission
OpenVPN VLAN 802.1Q support
OpenVPN Obfsproxy support (obfs2/obfs3)
OpenVPN scramble options support
OpenVPN Static key password protection
Import/export OpenVPN configuration
SSTP EAP-TLS support (Authentication with certificates)
SSTP EAP-MS-CHAPv2 support
SSTP MS-CHAPv2/CHAP/PAP support
SoftEther protocol
WireGuard protocol
OpenConnect protocol
Cisco AnyConnect SSL protocol
Fingerprint authentication (Require at least Android 6.0)
Port knocking
Connect on demand
Auto connect on boot
Auto connect/pause/disconnect on WiFi/Mobile/WiMAX up/down
App filter (Require Android >= 5.0)
DNS over HTTPS
Tasker/Locale plugin
Widgets
Android 7.0 quick settings tiles
Android 7.1 dynamic shortcuts
Import pem, der, pkcs12 cetfificate formats
Support for certificates in KeyChain
IPv6 support
Support for HTTP/SOCKS proxies
Support for customized HTTP headers
Backup/restore configuration
- Версия: 1.00.93
OpenVPN 2.5.4
Minor improvements/bug fixes
Версия: 1.00.92
The «The server’s certificate must be signed by this CA» option has been changed to handle also certificate chain.
Minor improvements/bug fixes
Источник
Sstp клиент для андроида
Open SSTP Client for Android
This is an open-sourced Secure Socket Tunneling Protocol (MS-SSTP) client for Android, developed for accessing to VPN Azure Cloud (or SoftEther VPN Server). So no test with other servers is done. Its behavior may be still unstable.
You can download and install the latest version via Google Play
Enter Host , Username and Password preferences and turn the switch on. If a key icon gets to show on the right side of the status bar, establishing a VPN connection has been succeeded. To disconnect the connection, turn the switch off in the home tab or tap the notification.
Some settings to be noted are written below:
Add Trusted Certificates (SSL Layer)
If you choose a certain directory, the client uses ONLY certificates in the directory, but the default certificate store. I made this option for debugging.
PPP Network Protocol
You can choose what network protocol PPP layer tries enabling. Remember, IPv6 option just gives the device a link local address, never guarantees that you can communicate perfectly with IPv6 protocol.
Host preference can also contain IP address, but cannot include a port number. You can configure it in the setting tab.
Your device needs to install a self-signed certificate and disable Verify Hostname option to access to a server using it
A server must enable DHCP
Only PAP and MS-CHAPv2 authentication protocols can be enabled. No EAP.
It is almost impossible that I can debug a problem caused in any environments but my own. In a networking app, there are many possible reasons to cause the problem and I cannot identify the real one unless the problem can be reproduced in my environment.
So it is strongly encouraged that you should debug by yourself. With Select Cipher Suites option, this client tries to use TLS_RSA_WITH_AES_128_CBC_SHA or TLS_RSA_WITH_AES_256_CBC_SHA as a cipher suite so that you can decrypt and investigate packets with software like WireShark. I think there can be a similar app for Android. Don’t forget the great software, Android Studio and its emulator (v^ー°)
I don’t have Windows Server OS. So I don’t officially support accessing to it, but there is a successful case. See this issue.
Licensed under MIT. Be sure you use this software at your own risk.
Источник
Обзор VPN-клиентов для Android 4.x
Актуальность темы
Не секрет, что последние тенденции в области регулирования сети Internet пугают любителей свободы и анонимности ( например блокировка YouTube в Дагестане). Даже на хабре с завидной постоянностью появляются топики с информацией как настроить VPN сервер для личных нужд . Добавляем сюда то, что существует большое количество ресурсов, которые недоступны с определенных территорий, но которые представляют определенный интерес для пользователей, например интернет кинотеатр Hulu.com, интернет-радио Spotify и Pandora. И даже интернет-кинотеатр ivi.ru не дает пользователям не из России получить доступ к своему контенту.
Не стоит забывать и о такой функции VPN как защита данных на «последней миле». Это особенно полезно тем, кто часто путешествует и подключается к сети из различных мест. Уверенности в том, что WiFi точка доступа безопасна, а не предоставляется например злоумышленником с целью перехвата данных быть не может, так как назвать точку Beeline-Free-Wifi особого ума не надо, а большинство пользователей не полезут проверять действительно ли это Beeline или нет.
Вобщем если вы все еще считаете, что VPN вам не нужен, то дальше можно и не читать.
VPN и Android, трудное детство
Несмотря на то, что Android базируется на Linux, ситуация с VPN в ранних версиях андроид является плачевной. Всему виной поразительная нерасторопность Google в плане исправления некоторых ошибок. Проблемы с VPN на старых версиях Android собственно две:
1. Шифрование в PPtP не работает. Совсем. Подключение устанавливается, некоторое время работает, после чего благополучно умирает, и никакие данные не идут. Этот баг хорошо известен, и даже есть большой топик в трекере гугл по сломанного PPtP. Есть сообщения, что в версиях 2.3.7 это поправили, но я увы не тестировал, так как обновился.
2. Особенность работы L2TP/IPsec. Дело в том, что установка ключа подключения идет через key-storage. И при помещении ключа в хранилище учитывается приложение, которое добавило ключ. НО, при самом подключении запрос ключа идет от пользователя system, а так как ключ был сохранен от имени VPN клиента, то любой запуск VPN с L2TP/IPsec завершается неудачей. Ключа нет.
Но не все так печально. В новой версии Android, Google анонсировали новый API — VpnService. Он позволяет реализовывать собственные VPN протоколы и обмениваться с системой трафиком через специальные интерфейсы ( по сути через TUN). И все вроде бы замечательно, но и тут не обошлось без бочки дегтя в ложке меда, а именно — TUN-драйвер отсутствует на целой армии устройств:
— планшеты Amazon Kindle;
— многие устройства от Sony;
— большинство китайских планшетов.
Вобщем если ваше устройство относится к одному из перечисленных классов устройств, скорее всего VPN у вас работать не будет.
Небольшое лирическое отступление: если ваш Android девайс рутован, то можно поставить TUN драйвер и на Android 2.x и на 4.х, но в данном обзоре я намеренно упускаю подобный софт, и если будет интерес, то рассмотрю его в следующем обзоре.
Про выбор софта
Выбор софта производился крайне простым способом — поиск по Google Play c Asus Transformer по запросу VPN. Участники обзора:
— Hotspot Shield VPN;
— Vpn One Click;
— Hideman VPN;
— PandaPow VPN;
Но обо всем по порядку.
Hotspot Shield VPN
Я не ошибусь если назову HSS отцами бесплатного VPN. Думаю мало людей, которые не пользовались их сервисом. Но сразу к делу:
Плюсы
— не надо регистрации. Вообще. Запустил и оно работает. Серьезный софтверный подход.
— есть виджет для быстрого подключения. Увы его дизайн сильно выбивается по внешнему виду. Но он есть и это хорошо.
— абсолютная бесплатность. Единственное, что по идее будут показывать рекламу. Но я ее нигде не видел. Возможно еще не внедрили.
— хорошая скорость (мне выдавало 4 мегабита при включенном VPN)
Минусы
— жутковатый дизайн. Совершенно не влезает в стилистику Android.
— несмотря на то, что сервера в США, иногда могут потребоваться другие страны (например UK для BBC iPlayer). Но увы выбора стран нет.
— жуткая, гадкая плашка, которая висит в трее и никак не убирается. Совсем. Портит трей одним своим внешним видом. Видимо из-за этой плашки HSS единственная программа у которой есть кнопка Де-инсталлировать прямо на главном экране.
Цены
За версию без рекламы (которой и так сейчас нет), просят $1.99 в месяц или $19.99 в год.
Вывод
Добавить выбор стран и убрать эту жуткую плашку в трее. А так решение на каждый день для большинства пользователей.
Vpn One Click
Исключительно простая программа, которая на главном экране сразу показывает список доступных стран для подключения. Единственная проблема, в бесплатном режиме можно подключаться только к рандомному серверу, и нельзя жестко указать какая страна вам нужна. При запуске сразу добавляет подписку на год.
Плюсы
— простая в использовании, бесплатная на год ( а через год уже и устройство можно заменить);
— есть разные страны, чего не хватало в HSS;
Минусы
— нет нормальной индикации в программе, что подключение прошло успешно;
— в бесплатном режиме нельзя выбрать конкретную страну.
Цены
Очень демократичные цены: $2.99 за 3 месяца и $8.99 в год. Можно оплатить Liberty Reserve (любители анонимности ликуют) и Paypal.
Вывод
В бесплатном режиме как HSS, единственное отличие то что страна может быть не США. Немного не очевидный интерфейс, но в целом достойная альтернатива HSS.
Hideman VPN
Программа сделана в стилистике Android. Большая зеленая кнопка не попасть в которую невозможно. Регистрация не требуется. Дают 5 часов в неделю. Остальное увы за деньги.
Плюсы
— симпатично, удобно;
— есть выбор стран;
— есть виджет для подключения. Симпатичнее чем у HSS.
Минусы
— всего 5 часов бесплатно. Для тех кто постоянно будет пользоваться VPN использование без платной подписки невозможно.
Цены
От $2.9 в месяц до $24.9 в год, что дороже HSS и VPN One Click.
Вывод
Хороший вариант для периодического использования. Постоянно пользоваться без покупки увы нельзя.
PandaPow
Сайт: pandapow.co
Google Play: play.google.com/store/apps/details?id=com.pandapow.vpn
По правде говоря этого софта вообще в обзоре быть не должно. Я сначала выбрал набор софта, а когда поставил PandaPow понял, что эта программа по сути просто копирует пароль подключения в буфер обмена, и настраивать доступ надо вручную, одним словом useless.
Итоги
Вобщем мои надежды на большое количество качественного VPN софта для не-рутованных Android девайсов рассыпались в пух и прах. Тем не менее, если выбирать из представленного в обзоре софта, то я оставил три программы на своем устройстве. Каждый выполняет свою роль:
— HSS — продолжительный серфинг в незащищенных сетях, доступ к USA-only ресурсам;
— Vpn One Click и Hideman VPN для случаев когда нужны не US-адреса, и надо получить IP-какой либо другой страны.
Источник
Разработка VPN-клиента под Android (Часть 1)
Всем привет! Поводом к написанию данной статьи стало осознание того факта, что при наличии большого количества статей и обзоров про приложения VPN-клиенты для Android, нет ни одной нормальной статьи описывающей проблемы разработки с использованием VpnService API. Причём, в большинстве случаев вы, как разработчик приложения, не сможете ничего сделать с этими проблемами.
Начнём с самого начала. Некоторое время назад наша компания, на основе проводимых исследований в области безопасности мобильных устройств, решила выпустить небольшое приложение (WebGuard) под Android для блокировки всем уже надоевшей рекламы, а так же защиты от слежки и вирусов при работе из любого браузера. Чтобы реализовать данный функционал нам потребовалось решить множество задач, самой трудоёмкой из которых оказалась задача по перехвату и обработке трафика приложений. Для перехвата и фильтрации соединений браузеров было решено использовать VpnService API, которое появилось в Android с версии 4.0.3 и предоставляет всю нужную функциональность (правда, временами эта функциональность просто не работает по куче разных причин, но выяснилось это несколько позже).
Немного об используемых технологиях
Тут стоит рассказать подробнее, почему было выбрано данное API и какие вообще способы существуют для перехвата сетевого трафика приложений другим приложением на «нерутованном» android-устройстве. Собственно способов всего три (не считая различных уязвимостей) и знать о них будет полезно разработчикам приложений с различными механизмами внутриигровых покупок. Т. к. многие из них считают, что подмена сетевого трафика приложения возможно только на «рутованном» устройстве и «не заморачиваются» с защитой передаваемых данных, хотя есть вероятность (и довольно большая) появления «читерских» приложений вносящих изменения в передаваемые данные.
Итак, первый способ — это установка локального прокси-сервера. Этим способом пользуется большинство антивирусов под Android. Приложению для перехвата трафика достаточно реализовать поддержку HTTP-прокси описанную в стандарте RFC 2068 и установить в настройках WiFi сети прокси-сервер или APN в настройках мобильной сети. В этом случае передача данных будет происходить как на схеме ниже.
Но у этого способа есть куча серьёзных проблем:
- установить WiFi прокси или APN для мобильной сети программно можно только с использование скрытого API (например скрытые методы в WifiManager);
нужно следить за появлением новых WiFi или мобильных сетей устанавливая прокси (APN) и для них;
данный способ работает только для соединений созданных с помощью класса Http(s)URLConnection и то, если явно не будет указано не использовать прокси (например url.openConnection(Proxy.NO_PROXY)). Есть ещё приложения, которые проверяют наличие прокси-сервера и используют его (или наоборот не используют);
если пользователь удалит или просто не запустит приложение с прокси-сервером, то остальные приложения не смогут соединиться ни с одним сервером т. к. в настройках сети все ещё будет указан прокси и пользователю нужно будет самому удалить его из настроек (например);
Эти все проблемы, кроме последней, успешно решаются вторым способом — написанием приложения VPN-клиента использующего классы VpnService и VpnService.Builder. Приложению достаточно вызвать пару функций (в коде опущены обязательные проверки):
, и весь TCP/IP трафик всех приложений (даже запущенных под root’ом) будет перенаправлен на TUN интерфейс, который создаст Android, а вашему приложению будет доступен на чтение/запись файл устройства /dev/tun (или /dev/tun0, /dev/tun1 и т. п.), откуда можно вычитывать исходящие сетевые пакеты, передавать их на обработку на удалённый VPN-сервер (обычно через шифрованное соединение) и затем записывать входящие сетевые пакеты. Для того, что бы соединения самого VPN-клиента не «заворачивались» в TUN, используется метод VpnService.protect на TCP или UDP сокетах созданных приложением.
Схема, представленная выше, в данном случае будет выглядеть следующим образом:
У этого способа есть две особенности:
- Приложению нужно обязательно получить права на использование VpnService через вызов startActivityForResult, при этом система покажет пользователю такой вот диалог:
Причём, Android запоминает, что выдал права приложению, только до перезагрузки устройства, поэтому после перезагрузки права нужно запрашивать снова. Как выяснилось (мы этого даже не ожидали) есть пользователи («да их тут сотни» ), которые любят перезагружать свой телефон каждые 10 минут и им это окно мешает, за что они в маркете могут оценить приложение в 1 балл;
«Печалька» чуть побольше предыдущей. Android после включения VPN, в обязательном порядке, отображает иконку уведомления в виде ключика и собственно неубираемое уведомление, нажав на которое можно посмотреть небольшую статистику:
Тут недовольство пользователей было ожидаемо, т. к. многие нынешние приложения просто обожают «вешать» уведомления (иногда сразу по несколько) и статус-бар превращается в новогоднюю гирлянду:
Так же, если пользователь нажмёт кнопку «Разъединить» Android отключит VPN и заберёт права у приложения, после чего для активации VPN придётся заново просить права через вызов startActivityForResult.
Есть в этом способе и небольшая дополнительная проблема (не считая «фич» о которых ниже) — для его работы нужен удалённый сервер.
Проблема с наличием сервера решается третьим способом (несколько изменённый способ №2) — приложение VPN-клиент содержит ещё и стек TCP/IP (можно взять готовый или написать самому из-за наличия недостатков в готовых) для разбора трафика из приложений и обработки соединений почти как прокси-сервер. Тогда схема обработки трафика приложений несколько изменится и будет выглядеть следующим образом:
Именно этот способ мы используем в WebGuard. Из недостатков, по сравнению с предыдущим способом, можно отметить только один — это невозможность нормальной обработки протоколов отличных от TCP или UDP (или протоколов «поверх» них), потому что приложению нужно будет создавать «сырые» сокеты для чего обычно нужны права root’а. Чтобы было понятно, о чём идёт речь, возьмём простой пример: пользователь запускает шелл через ADB и выполняет команду «ping www.ya.ru», которая отправляет ICMP эхо-запрос. Далее, приложение VPN-клиент читает из /dev/tun IP пакет, разбирает его, и выясняет что пакет содержит ICMP эхо-запрос к некоему серверу. А так как приложение не может передать запрос далее в сеть, то вариантов у него всего два: игнорировать пакет или эмулировать ping попытавшись установить соединение с нужным сервером и в случае успеха записать поддельный ICMP эхо-ответ в /dev/tun.
«Фичи» VpnService API
В процессе разработки приложения, тестирования и использования первых версий пользователями, мы столкнулись с большим количеством ошибок или недоработок связанных с VpnService API. Часть из них удалось исправить, т. к. по сути это были недоработки наших программистов (о чем мы честно написали и попали на bash.org.ru), а с оставшейся частью сделать что либо довольно сложно или невозможно:
- Нет поддержки TUN интерфейса в ядре linux, соответственно VPN не заработает. В основном эта проблема встречается на самосборных прошивках на основе проектов CyanogenMod, AOSP и др. Авторы сборок либо вообще убирают поддержку из ядра, либо забывают положить модуль tun.ko в прошивку. Такое ощущение, что авторы руководствуются принципом «не знаю что это такое, поэтому не нужно»;
Нет файла VpnDialogs.apk который содержит диалоги запроса прав и статистики, VPN опять же не заработает. Как ни странно, эта ошибка чаще всего случается на официальных сборках от производителей телефонов (и у Google в том числе);
«Зависание» GUI на некоторых телефонах Samsung с официальной прошивкой, если в VPN-клиенте произойдёт необработанное исключение (при этом шелл через ADB вполне рабочий, но переподключается каждые 1-2 минуты). Вообще производители телефонов с Android, иногда собирают к ним «замечательные» прошивки, забыв проверить часть «редко используемого» функционала. Наш коллектив разработчиков в этом плане просто «обожает» Samsung и считает, что для тестирования приложений под Android обязательно нужно иметь несколько телефонов от разных производителей и несколько разных телефонов от Samsung;
Благодаря вот этому изменению пользователь не сможет поставить галочку «я доверяю этому приложению» в диалоге VPN, если его перекрывает другая activity пропускающая нажатия пользователя. Сделано это для того, что бы нельзя было нарисовать сверху другой диалог и обманом заставить пользователя поставить галочку. Проблема в том, что обычно так делают (и уже давно) различные утилиты, лаунчеры и некоторые программы (например «Читай! Бесплатно»), создавая прозрачную activity. В результате некоторые пользователи могут подумать что над ними издеваются;
Если пользователь включит ограничение трафика для фоновых процессов, то «под раздачу» попадёт и работающий VPN-клиент (при отправке данных через сокет будет исключение SecurityException c Permission denied), соответственно кинаинтернета не будет;
В Linux есть такой замечательный механизм, как OOM Killer, и если вдруг пользователь запустит приложение, которое будет «пожирать» большое количество оперативной памяти устройства (для экспериментов можно взять Firefox, вот уж кому памяти всегда мало), OOM Killer начнёт «валить» все подряд пользовательские процессы кроме, как водится, виновника торжества (точнее его убьют последним). Исключений для нужных процессов (лаунчер или VPN-клиент) естественно не предусмотрено, поэтому нужно быть готовыми постоянно перезапускать свой сервис;
После некорректного завершения работы VPN-клиента (даже если он потом перезапустится), в редких случаях, может понадобится перезагрузить устройство т. к. Android неправильно перенастроит маршруты передачи пакетов и пакеты от приложений будут уходить в /dev/null;
Если пользователь включит раздачу мобильного интернета через WiFi одновременно с VPN-клиентом, то на большинстве прошивок, как и в случае выше, Android неправильно настроит маршрутизацию пакетов;
Вот так прочитаешь этот список и подумаешь — а может ну его этот VPN? К сожалению, другого способа перехватывать весь трафик на «нерутованном» телефоне с Android пока что нет.
Немного о NinePatch
В список выше, не попала ещё одна проблема, последствия решения которой были для нас весьма неожиданны (и не только для нас). Поэтому мы решили рассказать о последствиях поподробнее. Началось все с того, что в какой то момент нужно было сделать самую важную часть приложения — нескучную иконку. Сказано — сделано. Красивая круглая иконка нарисована и мы радостно тестируем предрелизную версию, как вдруг:
Выяснилось, что на части телефонов иконка приложения в уведомлении о VPN может очень странно отображаться (неправильная цветность, размеры или ещё что-нибудь). После экспериментов и недолгого, но жаркого обсуждения
, было приказанорешено сделать иконку приложения в формате nine-patch, благо официальная документация по этому поводу ничего не говорит (т. е. не запрещает) и яйцеобразная проблема решается. Но, после выхода релиза очень быстро появились «пострадавшие». Это были как приложения под Android, так и различные онлайн сервисы работающие с apk-файлами, и не ожидающие получить иконку приложения в формате nine-patch. Самых примечательных мы решили расположить на пьедестале из трёх мест:
    3. Различные лаунчеры, которые падали при попытке отобразить иконку (например LauncherPro).
    2. Магазины Android приложений от Samsung и Yandex. При попытке загрузить приложение в Yandex.Store выдавалось вполне понятное описание ошибки: «Не удалось извлечь из APK иконку приложения». C Samsung Apps оказалось веселее. Так как компания высокотехнологичная, то и результаты проверки при добавлении приложения приходят в соответствующем виде — письмо с ссылкой на видео в котором записан процесс тестирования приложения и должно быть видно (по идее) ошибку. Получилось, правда, все как обычно, пришло письмо с ссылкой по которой видео не было.
    1. Ну а почётное первое место, по праву, занимает компания Sony с телефоном Xperia. Через какое то время после выхода релиза, владельцы Xperia L начали присылать сообщения о том, что WebGuard «убил» им телефон (пример). Оказалось, что падает PackageManagerService при попытке обработать иконку приложения во время установки, после чего телефон автоматически перезагружается и идёт бесконечная загрузка:
В итоге, с версии 1.3 было решено использовать иконку без nine-patch, тем более что его использование всех проблем с отображением иконки не решило:
        Уведомление о включении VPN на Ainol Novo10 Hero
Заключение
Нам не хотелось делать слишком большой пост, поэтому было решено разбить статью на несколько частей. В следующей части мы расскажем почему приложения под Android, фильтрующие трафик, потребляют так много заряда аккумулятора (по мнению андроида) и напомним, на примере одного теста производительности, что DalvikVM != JavaVM.
Надеемся наша статья кому-нибудь поможет в написании интересного приложения под Android. Удачной разработки!
Источник