TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #362 · 29.05

На днях мне пришёл крутой девайс — Flipper Zero. Flipper Zero — это электронный гаджет, который запустил на Kickstarter два года назад русский специалист по компьютерной безопасности Павел Жовнер. Кампания была супер успешна и собрала почти $5 млн! Об этом даже писали в Forbes, а автора приглашали на разные интервью и айти подкасты. Скорее всего, если вы айтишник, то слышали о проекте, а может даже купили себе Flipper. В ходе кампании проект столкнулся с чудовищными сложностями. Пандемия и остановки производств. Кризис микрочипов. Дефекты сборки. Ребятам приходилось несколько раз менять сборочные линии, перепроектировать плату, искать для компонентов аналоги. Это при том, что вообще сам Кикстартер официально не работает с россиянами, а с китайцами по многочисленным рассказам не так просто договориться до подходящего уровня качества, если заказ не типовой. Отсюда много задержек, первая крупная партия была выпущена, кажется, на год позже, чем заявлено. Но даже в более мягких условиях очень многие проекты не выживают, не справляются с финансовым менеджментом, не просчитывают риски. А тут авторы очень круто везде среагировали и даже в некотором смысле вышли за границы возможного, чтобы выполнить свои обязательства. Моё уважение. Базово Flipper это небольшой микропроцессор с оснасткой в виде радиомодулей и других средств беспроводной коммуникации. Глобально в этом нет ничего принципиально нового, что-то подобное и раньше мог собрать любой фанат электроники. Но есть несколько нюансов, которые делают устройство крайне любопытным. Во-первых, кампания велась образцово. Привлекательная затравка и маркетинг «Flipper это тамагочи для хакеров!», регулярные обновления с подробными интересными статьями на радиолюбительские и программистские темы. По этой кампании можно учиться как в принципе презентовать и продвигать электронику на крауд-площадках, особенно в условиях задержек и кризисов. Во-вторых, качество сборки и компоненты. Здесь лучшее железо по соотношению цена/функциональность, его подбирали люди, которые очень глубоко шарят в теме. Отличный UI/UX и эргономика. Оптимизированное энергопотребление. В-третьих, что, наверное, самое важное: открытый исходный код прошивки и акцент на комьюнити, где энтузиасты могут писать всякие разные приложения. На борту две RFID антенны на разные частоты, ИК-приёмопередатчик, субгигагерцовый радиопередатчик, контакты для iButton (у нас это называют "магнитный ключ" или "таблетка", типа как от домофонов), а также многофункциональные порты ввода-вывода GPIO. Из коробки устройство может, например, скопировать и повторить незашифрованный сигнал управления. Конечно, автомобиль вы так не откроете (странно было бы, если бы могли), но, например, на своих умных шторах я уже проверил: Flipper может записать сигнал от пульта штор на частоте 433МГц, а потом воспроизвести его, и шторы открываются! Ещё можно сохранять 125 кГц RFID электронные карты доступа и брелоки. У меня такой, например, от гаража. Что касается высокочастотного RFID (домофоны в новых домах, в паркингах), то есть нюансы, об этом я расскажу попозже. Прямо сейчас каких-то фантастических функций всё же нет. Думаю, маркетинг частично сыграл злую шутку: некоторые купившие жалуются, типа, где тут кнопка "взломать всё", как в игре Watch Dogs? Даже при росте софтварной оснастки нужна определённая техническая грамотность, чтобы понять, что и как можно делать. Первые устройства только недавно поступили людям на руки, комьюнити разгоняется, документация пишется. Ещё нет ни SDK, ни толком хороших примеров. Персонально я считаю серьёзным недостатком, что в качестве места для сообщества выбран Discord: он совершенно не подходит на роль базы знаний, на закреплённых сообщениях далеко не уедешь. Но потенциал у вещицы достаточно большой, как мне кажется. Буду писать иногда о своих экспериментах. #gadgets#dev

Hashtags

Резултати

Намерени 13 подобни публикации

Търсене: #ndk

当前筛选 #ndk清除筛选
Android Broadcast

@android_broadcast · Post #9096 · 10.05.2025 г., 08:15

Минусы повышения размера страницы памяти ⚠️ Мелкие объекты “тратят” больше памяти. Если в 4 КБ-странице лежало 5 мелких объектов, в 16 КБ — может быть “пустого” пространства больше. Но в современных условиях прирост производительности важнее. ⚠️ Нужна поддержка от железа. Процессор и ядро должны поддерживать размер страницы 16 КБ — это не просто «переключатель» в настройках. #android#ndk

Hashtags

Android Broadcast

@android_broadcast · Post #9464 · 02.09.2025 г., 16:02

‼️В Android Studio 🔨 исправили важный для 16 KB Page Size Я уже писал вам про некорректную работу проверка поддержки 16 KB Page Size в Android Studio. Так вот баг исправлен в Android Studio Narwhal Feature Drop 2025.1.2. #androidstudio#ndk

Android Broadcast

@android_broadcast · Post #9181 · 21.05.2025 г., 17:02

🔨 Android Studio Narwhal Feature Drop сможет проверить поддерживает ли ваше приложение 16 KB page size. APK Analyzer покажет какие библиотеки не имеют поддержки 16 KB page size. Чтобы проверить работу вашего приложения можете использовать новый эмулятор с 16 KB page size. #androidstudio#ndk

Android Broadcast

@android_broadcast · Post #9442 · 23.08.2025 г., 06:01

🤯Предупреждение об отсутствии поддержки страницы памяти в 16 Kb Google решила раздражать всех разработчиков - пока не добавите поддержку нового размера страницы в дебажное приложение, установленное через ADB, будете видеть предупреждающий диалог на старте приложения. Пользователи ничего не увидят, потому что им уходят релизные сборки. Так ведь у вас? #android16#ndk

Android Broadcast

@android_broadcast · Post #9435 · 22.08.2025 г., 09:38

🤯Как проверить, что ваше приложение поддерживает 16 Kb memory page size Совсем скоро всем Android приложениям в Google Play надо будет выполнить требования поддержки нового размера страницы памяти, что касается нативного когда (написанного на C/C++ с использованием Android NDK). Стандартный способ проверки - через APK Analyzer в Android Studio, но вот по сообщениям в закрытом чате Broadcast с опытными ребятами, получается, что не всегда этот способ проверки даёт верный результат. Какие способ использовать 1️⃣ Проверка APK с помощью специального скрипта check_elf_alignment.sh (подробности тут) 2️⃣ Запустить приложения на эмуляторе, где поддерживается только новый размер страницы 3️⃣ Через Dev Options на устройстве принудительно включить новый размер страницы. Лучше использовать устройство на Android 16+ 4️⃣ Загрузить сборку в Google Play и там даст правильный ответ (можно использовать Alpha или Internal тестирование) Подробнее про изменение, требования и миграцию читайте в оф. документации #android#googleplay#ndk

Android Broadcast

@android_broadcast · Post #9351 · 22.07.2025 г., 05:28

📹Подготовьте ваше приложения для устройство с размером страницы памяти 16 KB (EN,6м) Стивен Морленд из команды Android Systems делится последними новостями для разработчиков Android. Теперь Android поддерживает размер страниц памяти 16 КБ. Начиная с 1 ноября 2025 года, все новые приложения и обновления существующих приложений, отправляемые в Google Play и нацеленные на устройства с Android 15+, должны поддерживать размер страниц 16 КБ. Узнайте, почему команда Android внедряет это изменение и как подготовить своё приложение для максимальной производительности. 0:00 Вступление 0:26 Страницы памяти 1:33 Рост размера приложений 2:11 Почему мы меняем размер страниц с 4 КБ на 16 КБ 4:18 Android 16 и другое Полезные ресурсы: 🔗Подготовка приложений для устройств с размером страниц 16 КБ 🔗Поддержка размера страниц 16 КБ 🔗Тестирование приложения в среде с размером страниц 16 КБ #android#googleplay#ndk

Android Broadcast

@android_broadcast · Post #9321 · 11.07.2025 г., 09:19

🤯Через 4 месяца ваше приложение нельзя будет обновить или опубликовать новое, если все нативные библиотеки в APK не будут иметь поддержку страниц памяти 16 KB. Google напоминает что весь нативный код вашего приложения и библиотеки должны иметь поддержку страницы памяти размером 16KB. Для этого надо обновить версию зависимостей с поддержкой (проверяйте на сайте). Проверить работу можно с помощью специального эмулятора или включения опции в настройках разработчика на Android 15 и выше. С помощью APK Analyzer вы можете определить выполняют ли все ваши нативные библиотеки требования. Android Lint также будет подсказывать проблемные библиотеки Рекомендуется создать issue для разработчиков сторонних API, если еще нету поддержки и до вас не сделали issue. 🔗 Больше подробностей в официальной документации #android#ndk#googleplay

Android Broadcast

@android_broadcast · Post #9094 · 09.05.2025 г., 13:03

‼️Все Android приложения должны обеспечить поддержку работы на устройствах с размером страницы памяти 16KB Изменение размера страницы в памяти от 4 KB в 16 KB даст для приложений: 🚀Ускорения запуска приложений 🔋Сокращение расхода батареи 📷 Ускорение включения камеры 📱 Ускорение запуска системы Новая требование Google Play обязует реализовать поддержку работы всех новых приложений и обновлений с targetSdk 35 (Android 15). Изменение вступает в силу с 1 ноября 2025 года Что нужно делать 👉 Обновить библиотеки с нативынм кодом до версий с поддержку нового размера страницы 👉Перекомпилировать свой нативный код на C/C++ с последней версией инструментов В Google Play в AppBundle Explorer вы будете видеть совместимо ли ваше приложение cо страницей размера 16KB. Полезные ссылки 🔗Как адаптировать приложение 🔗Как провести тестирование приложения на таком устройстве 🔗Подробная документация по 16Kb page size #android#googleplay#ndk

Android Broadcast

@android_broadcast · Post #8625 · 31.01.2025 г., 10:53

Все мы уже привыкли выкладывать сборки в Google Play через AAB, которые передаст на устройство только необходимое для устройства нативные библиотеки. Некоторым приходится раздавать сборку в APK формате. Банальный кейс - отдавать сборку на проверку QA. Универсальное APK - содержит ресурсы и библиотеки под все возможные устройства, даже те которые не нужны на устройстве пользователя. Обычно нативные библиотеки делают наибольший вклад в конечный размер приложения на устройстве пользователя. Отказ от ненужных позволит снизить размер и скорость доставки до устройства пользователя. Android Gradle плагин позволяет указать какие ABI нужно добавлять в сборку. Сложность в том, что для финальной сборки обычно надо добавить ABI arm64-v8a и armeabi-v7a, а вот для Intel эмуляторов нужны x86 и x86-64. Чтобы делать это эффективно, я делал механизм передачи значений ABI через переменные при сборке. Это позволяет задавать локально и на CI разные значения, а локальные задавать через файл local.properties или переменную окружения // Код в Gradle KTS скрипте fun resolveAbiFilters(): List<String> { val abisString = project.findProperty("abiFilter") as String? // Параметр командной строки ?: readFromLocalProperties("abi.filter") // Значение из local.properties ?: System.getenv("ABI_FILTER") // Переменная окружения return abisString?.split(",") ?: emptyList() } fun readFromLocalProperties(key: String): String? { val localPropertiesFile = rootProject.file("local.properties") if (!localPropertiesFile.exists()) return null val localProperties = Properties().apply { localPropertiesFile.inputStream().use(::load) } return localProperties.getProperty(key) } // В Android application модуле указываем android { defaultConfig { ndk { abiFilters = resolveAbiFilters() } } } Пример задания через параметр ./gradlew assembleRelease -PabiFilter=arm64-v8a,armeabi-v7a Если вы запускаете приложения из Android Studio на устройстве/эмуляторе, то IDE понимает какую ABI из поддерживаемых стоит включить в APK, чтобы приложение смогло работать. Все остальные исключается. Сборка компактнее - меньше время на передачу и установку тестового билда. #android#gradle#ndk

Android Broadcast

@android_broadcast · Post #9600 · 25.10.2025 г., 04:16

🦢Вышло превью Swift SDK для Android разработки Стало доступно для загрузки первое nightly превью Swift Android SDK (SA SDK). Можно писать натив кода не C++. Авторам можно начать портировать свои пакеты на Android, а 25% уже все существующих поддерживают Android таргет. Что надо сделать (Windows, Linux, macOS): 1️⃣ Установить раннюю версию сборки Swift 6.3 2️⃣ Установить SA SDK 3️⃣ Поставить Android NDK Подробная инструкция тут 🐱 Примеры Android проектов c использование SA SDK можно найти на GitHub Я же сегодня сяду попробовать всё это и поделюсь на Boosty #swift#android#ndk

Android Broadcast

@android_broadcast · Post #9514 · 18.09.2025 г., 06:26

🤖🦢Пример написания библиотеки для Android на языке Swift (RU, 17м) В Swift 6 появилась возможность работать с Android NDK из Swift и всё это потом вызывать из Java при помощи JNI. Java Native Interface (JNI) – это мост который позволяет нативному коду обращаться к Java Virtual Machine (JVM). Когда вы пишете Java код, то вы используете Android SDK. Но когда вы используете языки как Swift или C++, которые не компилируются в Java байткод, вам уже нужен Android NDK для коммуникации с Java через JNI. Пример нативного кода #if os(Android) @_cdecl("Java_com_habr_swiftlib_myfirstandroidproject_SwiftInterface_initialize") public func initialize( envPointer: UnsafeMutablePointer<JNIEnv?>, clazzRef: jobject, callerRef: jobject ) { // Активируем Android logger LoggingSystem.bootstrap(AndroidLogHandler.taggedBySource) // Инициализируем JVM let jvm = envPointer.jvm() JNIKit.shared.initialize(with: jvm) // ДАЛЕЕ: кэшируем class loader // ДАЛЕЕ: пример `toString` // ДАЛЕЕ: пример `Task` } #endif Инструменты сгенерят вам код для работы из Java/Kotlin package com.habr.swiftlib.myfirstandroidproject object SwiftInterface { init { System.loadLibrary("MyFirstAndroidProject") } external fun initialize(caller: Any) } #android#ndk#swift

Android Broadcast

@android_broadcast · Post #9371 · 31.07.2025 г., 09:33

🗺В Yandex MapKit SDK завезли поддержку страницы размером 16 КБ В версии MapKit 4.19.0 добавили долгожданное изменение для выполнения обязательного требования от Google Play - поддержки страницы памяти размером 16 KB #яндекс#ndk

12
ПредишнаСтр. 1 от 2Следваща