ChaosBank — 131 переключаемый баг для тренировки мобильного тестирования
Оба проекта под MIT. По функциональности это небольшой необанк с брокером акций и крипты, примерно в духе Revolut и Robinhood. Сейчас в нём 131 именованный дефект, и к каждому есть короткое письменное упражнение.
Начинал я это как стенд для собственных экспериментов, но, возможно, он пригодится и как тренировочная площадка тем, кто только начинает в мобильной разработке или мобильном QA. Ниже — как всё устроено, как я бы стал этим пользоваться и пара вещей, в которых я пока не уверен.
Прежде чем работать с AIDL: разбираемся, как устроен IDL
Расскажу в двух статьях о языке определения интерфейсов (Interface Definition Language, IDL) и платформенном механизме, который построен поверх этой идеи в Android — Android Interface Definition Language (AIDL).
Начну рассказ с IDL — что это за язык и какую задачу он решает. Здесь будет только теоретическая информация. Примеры кода, внутренности Android и важные технические детали будут во второй статье.
Вылечил лагающий телевизор Xiaomi за 10 минут: реклама, слежка и YouTube — без root и с откатом
На прошлой неделе на GitHub взлетел проект CleanYourTV: автор попросил ИИ-ассистента почистить телевизор родителей от рекламы и за четыре дня собрал 16 тысяч звёзд и статью в TechCrunch. Я открыл его списки — и не нашёл ни Яндекс ТВ, ни Салют ТВ, ни российских прошивок Xiaomi. Зато мой собственный Xiaomi на Android 9 лагал так, что меню открывалось через пару секунд после нажатия.
Я сделал ЧистыйТВ — скрипт для Windows, который по Wi-Fi находит телевизор, отключает рекламу и телеметрию по проверенным спискам, ставит YouTube без рекламы и откатывает всё одной командой. Ниже — что на самом деле крутится внутри «умного» телевизора, какие пакеты отключать нельзя ни в коем случае (некоторые превращают ТВ в кирпич до сброса) и на какие грабли я наступил при первом запуске.
Статья: https://habr.com/ru/articles/1097472/
Платформа: разработка
Tellyscope - приложение очищает Android TV от лишних приложений, позволяет устанавливать программы, просматривать и передавать файлы. И всё это прямо со смартфона. Без root-прав и без компьютера.
Для работы Tellyscope необходим смартфон на базе Android 8.0 или новее, подключенный к той же сети Wi-Fi, что и телевизор, а также телевизор с активированными параметрами разработчика.
Tellyscope на GitHub: https://github.com/man15h/tellyscope
Платформа: Android
⭐️: 126
Интеллектуальная собственность в мобильном приложении
Многие предприниматели стремятся разработать мобильное приложение для удобства доступа потребителей к его продукту/услуге, узнаваемости и, как следствие, для роста продаж.
Вместе с тем, не каждый предприниматель задумывается, что создаваемые результаты интеллектуальной деятельности (РИД): иконка, название приложения и/или его разделов, интерфейсы страниц (их композиционное, цветовое, шрифтовое решения), и конечно, функционал приложения — всё это потенциально можно превратить в интеллектуальную собственность. Как это сделать?
Прежде всего, любой РИД создается человеком — автором. В процессе создания приложения многие РИДы являются объектами авторского права.
Статья: https://habr.com/ru/articles/1097916/
Платформа: разработка
• (iOS Ru) Metal без магии — когда GPU ускоряет, а не мешает
• (iOS Ru) Как легально опубликоваться вне App Store
• (iOS Ru) Как и зачем писать игровой движок на Swift
• (iOS En) Instagram's Swipeable Feed-to-Camera Interaction Using SwiftUI
• (iOS En) Your iPhone App Needs This Before Supporting iPhone Duo
• (And Ru) Явное лучше неявного, или Shift left в Android-сборке
• (And Ru) Как читать метрику памяти и искать прожорливые экраны
• (Dev Ru) Как подружить мобильное приложение с JS и прокачать свой SDUI
• (Dev Ru) Разделяй и властвуй: распил мобильного приложения на микросервисы
• (Dev Ru) Rust в мобильной разработке
• (Dev Ru) Насколько опасен ИИ для кибербезопасности
• (Dev En) How this skill helps me to understand AI code
• (Dev En) The Tech Market Changed. Here's How to Survive It.
• (Mrk Ru) Хэллоуин: ASO и монетизация мобильных игр
Прошлогодние видео:
• (And Ru) Как обеспечить стабильную работу SDK для миллионов устройств
• (Crs Ru) Что ждёт Kotlin Multiplatform разработчика на собесе? (все собеседования)
HackiOS загружает открытое ядро Apple XNU (xnu-8796.121.2, ядро iOS 16.5) на аппаратном обеспечении Android-смартфона и запускает поверх него неизменённое пользовательское пространство iOS 16.5: launchd → backboardd → SpringBoard → приложения. Это стало возможным благодаря собственному EFI-загрузчику, собственным заменам закрытых драйверов Apple, порту UEFI и Linux-драйверу Wi-Fi, работающему через слой совместимости.
Система работает в двух вариантах:
• POCO X5 Pro 5G (redwood, Snapdragon 778G) — ничего не прошивается: UEFI запускается через fastboot boot, вся система работает из оперативной памяти, а после перезагрузки телефон возвращается к Android;
• QEMU (virt, aarch64) — то же самое можно запустить на любом Linux-компьютере, телефон для этого не нужен.
Пока не работают сотовая связь, Bluetooth, зарядка под собственным ядром, запись видео и Live Photo, вход в Apple ID и содержимое App Store. Причина последних ограничений связана в том числе с отсутствием Secure Enclave и тем, что FairPlay daemon завершается.
Главное техническое ограничение сейчас — Metal для приложений. Работа уже идёт: 293 из 456 системных шейдеров удалось запустить на Adreno. Поэтому HackiOS уже выглядит как достаточно функциональная iOS-среда на Android-железе, но до полноценной замены обычного iPhone ей пока далеко.
HackiOS на GitHub: https://github.com/oosexgang/hackios-xnu-kernel
Платформа: iOS/Android
⭐️: 654