Рассказываем, как переписали почти всё Android приложение и что из этого вышло (для программистов).
Спойл: статьи открываются быстрее, крешится меньше, программировать проще.
Ура Андроиду!
android
Если вам нужно тестировать 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
Если вам нужен эмулятор Android под MacOS и вы ещё не знаете о Genymotion — то вот пошаговая инструкция (включая то, как установить Google Play Services и Google Play) https://gist.github.com/gsamat/762dbba85d131640d536044afa8a94c4
Если хотите разобраться, за что же ЕС присудил гуглу штраф в 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 (им +/- пофиг и признавать проблему они не хотят). Эх.
Сейчас будет группа постов из прошлого. Неделя была такая, что было не блога - делали конференцию Шторм.
