android

Рассказываем, как переписали почти всё Android приложение и что из этого вышло (для программистов).
Спойл: статьи открываются быстрее, крешится меньше, программировать проще.
Ура Андроиду!

https://dev.meduza.io/%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%BE%D0%B5-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BC%D0%B5%D0%B4%D1%83%D0%B7%D1%8B-%D0%BF%D0%BE%D0%B4-android-dda1902fff69

Если вам нужно тестировать Android приложения — то Vysor это просто богом данная программа.

Видишь экран реального телефона на экране комьютера, можешь набирать текст в телефоне на клавиатуре ноутбука, «тапать» на телефон мышкой.

При этом Vysor просит денег, а без денег показывает рекламу и зарезает качество картинки.

И вот чувак сделал практически идеальную замену визору, выложил код в open source и даже написал длинную статью, как именно он это всё запрограммировал.

В этом софте круто всё. То, что он построен на существующих технологиях как из строительных блоков, то, как красиво он написан и как статья объясняет эту внутреннюю красоту. И главное — программа имеет приличную документацию и хорошо работает. Рекомендую всем, кто профессионально занимается Андроидром.

Единственный минус — нет pre-built binary для MacOS. Тут уж я для вас постарался. Для установки скачайте приложенный tar-архив, разахвириуйте его командой tar Pxf scrcpy.tgz (чтобы оба файла легли в нужные директории) и запускайте командой scrcpy.

Гениальная программа для управления Android’ом с компьютера, устаналивать через tar Pxf scrcpy.tgz

Больше года не могли починить перетаскивание в Android вебвью. Наконец сделали, даже запилили пруф на радостях. Что там за магия — следующим сообщением.

Каждая игра — отдельное приложение. Они встраиваются внутрь сайта Медузы как iframe. При этом мобильные приложения открывают игры как webview. Получается следующая схема: нативное приложение → webview с сайтом → iframe с игрой.

При начале дрега игра посылает postMessage сообщение сайту, он в свою очередь дергает java через jsBridge. Приложение блокирует скролл для этого webview. На дроп прокидывается обратное событие на разблокирование скролла.

И всё это — для красивых тестов.

Сегодня день открытий.

Любое приложение, установленное на Android-телефон, может прочитать primary email-адрес, привязанный к этому устройству.

Privacy? Не, не слышали.

Ссылочка: http://stackoverflow.com/questions/2112965/how-to-get-the-android-devices-primary-e-mail-address

Гугл удаленно включил энергосберегающий режим в некоторых Android-телефонах, извинился (комментом в редитте, буквально «сорян») и откатил изменения обратно.

На сайтах (и в мобильных приложениях типа убера) похожие вещи происходят постоянно и называются feature flag testing или A/B testing. Программисты разрабатывают фичу (или меняют дизайн), раскатывают изменение на небольшой процент пользователей и смотрят на метрики. «Стали люди больше читать уведомления, если изменить кружочек рядом с колокольчиком с синего на красный? Отлично, раскатываемся на остальных»

Но когда такое начинает происходить с операционной системой телефона, с настройками батарейки — для меня это перебор. Кто владеет телефоном? Тот, кто купил телефон за немалые деньги или компания, которая его продала?

Бесило копировать скриншоты из Androidа, нашел комфортный для себя способ:
1. Удаляем все старые скриншоты adb shell 'rm /sdcard/Pictures/Screenshots/*'
2. Делаем скриншоты
3. Копируем папку screenshots куда хотим: adb pull /sdcard/Pictures/Screenshots Downloads

Если хотите разобраться, за что же ЕС присудил гуглу штраф в 4.5 миллиарда долларов и что из этого выйдет — вот супер подробный анализ всей истории от Бена Томпсона, одного из лучших авторов в IT-бизнесе.

Интересная деталь, о которой многие не знают — Google Play Services. Поясню на примере GPS. Супер-классная геолокация, к которой мы все привыкли — не просто GPS. И iOS и Android замешивают кучу данных с GPS-устройств, WiFi-точек и сотовых вышек, агреггируют данные с миллионов устройств, кормят все эти данные в адские алгоритмы машинного обучения на тысячах серверов и только так создают быструю качественную геолокацию, без которой сложно представить современный телефон. В iOS — это фича операционной системы, её нельзя вырезать. В Android (который формально open source) всего этого нет, за всё это отвечает Google Play Services — API, предоставляемое гуглом «бесплатно». Бесплатно — в кавычках, потому что Play Services предустанавливают почти все нормальные производители, кроме китайцев (Google в Китае нет). Фишка в том, что если прозводитель хочет Google Play Services, то во первых, он обязан поставить поиск гугла на первый экран смартфона, а во вторых — не имеет права выпустить другое Android устройство без Google Play Services. Всё как завещал Microsoft, когда выкручивал руки OEM-вендорам PC.

Google Play Services включает в себя десятки API. Пуш-уведомления, например. Нужен вам телефон без пуш-уведомлений? А чистый open source Android — именно такой.

Многие Android-приложения на текущий день — не просто Android-приложения, а приложения для «Android с Google Play Services». И решение Еврокомиссии вряд ли это изменит.

Очень рекомендую статью, если вам интересна вся эта тема с Гуглом и Андроидом.

Гугл будет решать, какие приложения можно установить на андроид-телефоны.

Компания придумала новый статус «верифицированного разработчика».

Программы, созданные разработчиками без верификации, не будут работать со включенным Google Play Protect — сервисом, защищающим телефон от вредоносного софта.

Мотивация: 98% всех вредоносных программ под андроид устанавливаются в обход Google Play Store, где уже работает этот фильтр.

Внедрение начали с Бразилии и Таиланда, где особенно распространено кибермошенничество и много андроид-телефонов.

С первых айфонов, каждый разработчик программ под iOS должен подписать контракт с компанией Apple и получить сертификат, который компания может аннулировать в любой момент. Программы без сертификата на айфоны не устанавливаются и не запускаются.

Теперь аналогичный механизм появился в Android. В отличие от айфона, в андроиде, пока что, формально, эту защиту можно выключить. Но есть нюанс— с выключенным Play Protect не работают многие приложения банков, игры, стриминговые платформы.

С одной стороны, кибермошенничество — реальная проблема. С другой стороны, с каждым годом, мы все меньше решаем, что можем сделать со своими собственными устройствами.

Образцовый security vulnerability landing page http://cloak-and-dagger.org/

В двух словах - для Android можно написать программу, которая, после установки, получит полную власть над телефоном.

Интересно отношение Google (им +/- пофиг и признавать проблему они не хотят). Эх.

Сейчас будет группа постов из прошлого. Неделя была такая, что было не блога - делали конференцию Шторм.