📱 *docker-android* — Android в Docker-контейнере
Этот проект позволяет запускать полноценную Android-среду (эмулятор) внутри Docker. Без Android Studio, без лишней настройки — просто контейнер, готовый к запуску и тестированию.
🧰 Возможности:
— Поддержка Web UI (VNC через браузер)
— Эмуляторы Android 5.1–12
— Интеграция с Appium и UIAutomator для автотестов
— Поддержка Google Play Services
— Настраиваемое разрешение, память, ориентация
— Работает на Linux и macOS
🧪 Применяется для:
— CI/CD тестирования Android-приложений
— UI-автотестов
— Разработки и отладки в изолированной среде
🔗 GitHub
Этот проект позволяет запускать полноценную Android-среду (эмулятор) внутри Docker. Без Android Studio, без лишней настройки — просто контейнер, готовый к запуску и тестированию.
🧰 Возможности:
— Поддержка Web UI (VNC через браузер)
— Эмуляторы Android 5.1–12
— Интеграция с Appium и UIAutomator для автотестов
— Поддержка Google Play Services
— Настраиваемое разрешение, память, ориентация
— Работает на Linux и macOS
🧪 Применяется для:
— CI/CD тестирования Android-приложений
— UI-автотестов
— Разработки и отладки в изолированной среде
🔗 GitHub
🔥7❤4👍4🐳1
📦 Kotlin Serialization — официальная библиотека JetBrains для сериализации без рефлексии. Поддерживает JSON, Protobuf, CBOR и другие форматы, работая на всех платформах Kotlin: JVM, JS и Native.
Проект использует аннотации
🤖 GitHub
@androidits
Проект использует аннотации
@Serializable
для генерации кода сериализации на этапе компиляции, что делает его быстрым и безопасным. Интеграция с Gradle, Maven и Bazel упрощает подключение в любом проекте. 🤖 GitHub
@androidits
❤5👍3🔥2
🎨 Compose Hot Reload — инструмент от JetBrains для мгновенного обновления UI в Compose Multiplatform без перезапуска приложения.
Позволяет видеть изменения в интерфейсе сразу после правки кода, ускоряя разработку. Работает с Kotlin/JVM и поддерживает автоматическую перезагрузку через Gradle-задачи. Для полного функционала требует JetBrains Runtime.
🤖 GitHub
@androidits
Позволяет видеть изменения в интерфейсе сразу после правки кода, ускоряя разработку. Работает с Kotlin/JVM и поддерживает автоматическую перезагрузку через Gradle-задачи. Для полного функционала требует JetBrains Runtime.
🤖 GitHub
@androidits
❤4👍3
🔒 Immutable Collections Library for Kotlin — проект от JetBrains, предлагающий набор неизменяемых коллекций для Kotlin, работающих на всех платформах включая JVM, JS и Native. Библиотека вводит интерфейсы ImmutableList, PersistentSet и другие, позволяя безопасно работать с данными в многопоточных и функциональных сценариях.
Проект находится в стадии альфа-тестирования, но уже доступен через Maven Central. Его ключевая фишка — эффективные операции вроде toPersistentList или mutate, которые минимизируют копирование данных. Для тех, кто ценит неизменяемые структуры в Kotlin, это многообещающее решение.
🤖 GitHub
@androidits
Проект находится в стадии альфа-тестирования, но уже доступен через Maven Central. Его ключевая фишка — эффективные операции вроде toPersistentList или mutate, которые минимизируют копирование данных. Для тех, кто ценит неизменяемые структуры в Kotlin, это многообещающее решение.
🤖 GitHub
@androidits
🔥3❤1
🧪 Kotlin Coding Challenges — тренажёр для прокачки алгоритмического мышления
Если вы учите Kotlin и хотите не просто писать код, а развивать алгоритмическое мышление, этот репозиторий — отличная площадка для тренировок. Здесь собраны задачи разного уровня: от простых, вроде реверса строки, до экспертных.
Каждая задача — это готовый модуль с описанием, тестами и шаблоном для решения. Можно сразу запускать проверку в IntelliJ IDEA и сравнивать своё решение с эталонным. При этом авторы приводят несколько вариантов решения с анализом сложности через Big O.
🤖 GitHub
@androidits
Если вы учите Kotlin и хотите не просто писать код, а развивать алгоритмическое мышление, этот репозиторий — отличная площадка для тренировок. Здесь собраны задачи разного уровня: от простых, вроде реверса строки, до экспертных.
Каждая задача — это готовый модуль с описанием, тестами и шаблоном для решения. Можно сразу запускать проверку в IntelliJ IDEA и сравнивать своё решение с эталонным. При этом авторы приводят несколько вариантов решения с анализом сложности через Big O.
🤖 GitHub
@androidits
❤9👍4
🔌 Libaums — библиотека для работы с USB-накопителями на Android
Это открытая библиотека, которая решает проблему доступа к USB-накопителям на устройствах, где система не поддерживает их автоматическое монтирование. Она даёт доступ к флешкам, внешним дискам и кардридерам через USB Host API. Инструмент поддерживает FAT32 и SCSI-команды, но при этом остаётся легковесной и не требует root-прав.
Интересные моменты:
— Работает как с Java, так и с Kotlin
— Позволяет читать/записывать файлы напрямую, минуя системные ограничения
— Есть модули для интеграции через HTTP-сервер или Storage Access Framework
🤖 GitHub
@androidits
Это открытая библиотека, которая решает проблему доступа к USB-накопителям на устройствах, где система не поддерживает их автоматическое монтирование. Она даёт доступ к флешкам, внешним дискам и кардридерам через USB Host API. Инструмент поддерживает FAT32 и SCSI-команды, но при этом остаётся легковесной и не требует root-прав.
Интересные моменты:
— Работает как с Java, так и с Kotlin
— Позволяет читать/записывать файлы напрямую, минуя системные ограничения
— Есть модули для интеграции через HTTP-сервер или Storage Access Framework
🤖 GitHub
@androidits
❤5
⚛️ AtomicFU — библиотека для работы с атомарными операциями в Kotlin. Этот проект от JetBrains предоставляет удобный и эффективный способ работы с атомарными операциями в Kotlin-проектах. Поддерживает все основные платформы: JVM, Native, JS и Wasm.
Библиотека предлагает идиоматичный Kotlin API для атомарных операций, который затем трансформируется в эффективный код для каждой целевой платформы. Поддерживаются атомарные массивы, пользовательские расширения и даже примитивы синхронизации.
🤖 GitHub
@androidits
Библиотека предлагает идиоматичный Kotlin API для атомарных операций, который затем трансформируется в эффективный код для каждой целевой платформы. Поддерживаются атомарные массивы, пользовательские расширения и даже примитивы синхронизации.
🤖 GitHub
@androidits
❤4👍4🔥2
Запускаем вайбкодинг: нашли бесплатный сервис Astrocade для быстрого создания мобильных таймкиллеров.
Хочешь платформер, шутер или спортивный симулятор? Легко.
Сервис сам сгенерирует персонажей, анимации и даже саундтрек.
А готовой игрой можно сразу поделиться с сообществом.
https://astrocade.com/
Хочешь платформер, шутер или спортивный симулятор? Легко.
Сервис сам сгенерирует персонажей, анимации и даже саундтрек.
А готовой игрой можно сразу поделиться с сообществом.
https://astrocade.com/
❤3🔥2
📱 Автоматизация мобильных устройств с помощью ИИ 🤖
Mobile-use — это мощный открытый ИИ-агент, который управляет вашим Android или iOS устройством с помощью естественного языка. Он понимает команды и взаимодействует с интерфейсом, выполняя задачи, от отправки сообщений до навигации по приложениям.
🚀 Основные моменты:
- 🗣️ Управление на естественном языке
- 📱 Интеллектуальная автоматизация интерфейса
- 📊 Извлечение данных из приложений
- 🔧 Легкая настройка и расширяемость
📌 GitHub: https://github.com/minitap-ai/mobile-use
Mobile-use — это мощный открытый ИИ-агент, который управляет вашим Android или iOS устройством с помощью естественного языка. Он понимает команды и взаимодействует с интерфейсом, выполняя задачи, от отправки сообщений до навигации по приложениям.
🚀 Основные моменты:
- 🗣️ Управление на естественном языке
- 📱 Интеллектуальная автоматизация интерфейса
- 📊 Извлечение данных из приложений
- 🔧 Легкая настройка и расширяемость
📌 GitHub: https://github.com/minitap-ai/mobile-use
❤2
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡6❤2
Просчитался, но где: разработчик показал, что у его приложения почти нет пользователей на Android.
Шутил, что «все уже давно на iPhone» и никому оно там не нужно.
А потом выяснилось: дело вовсе не в пользователях.
Код просто не был адаптирован под Android, и при попытке купить подписку всегда вылетала ошибка.
Он хотел, чтобы iOS победила. И, по сути, сам всё для этого сделал.
Шутил, что «все уже давно на iPhone» и никому оно там не нужно.
А потом выяснилось: дело вовсе не в пользователях.
Код просто не был адаптирован под Android, и при попытке купить подписку всегда вылетала ошибка.
Он хотел, чтобы iOS победила. И, по сути, сам всё для этого сделал.
😁14❤4👍3🔥1
🔥 Успех в IT = скорость + знания + окружение
Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: www.tgoop.com/ai_machinelearning_big_data
Python: www.tgoop.com/pythonl
Linux: www.tgoop.com/linuxacademiya
Собеседования DS: www.tgoop.com/machinelearning_interview
C++ www.tgoop.com/cpluspluc
Docker: www.tgoop.com/DevopsDocker
Хакинг: www.tgoop.com/linuxkalii
Devops: www.tgoop.com/DevOPSitsec
Data Science: www.tgoop.com/data_analysis_ml
Javascript: www.tgoop.com/javascriptv
C#: www.tgoop.com/csharp_1001_notes
Java: www.tgoop.com/java_library
Базы данных: www.tgoop.com/sqlhub
Python собеседования: www.tgoop.com/python_job_interview
Мобильная разработка: www.tgoop.com/mobdevelop
Golang: www.tgoop.com/Golang_google
React: www.tgoop.com/react_tg
Rust: www.tgoop.com/rust_code
ИИ: www.tgoop.com/vistehno
PHP: www.tgoop.com/phpshka
Android: www.tgoop.com/android_its
Frontend: www.tgoop.com/front
Big Data: www.tgoop.com/bigdatai
МАТЕМАТИКА: www.tgoop.com/data_math
Kubernets: www.tgoop.com/kubernetc
Разработка игр: https://www.tgoop.com/gamedev
Haskell: www.tgoop.com/haskell_tg
Физика: www.tgoop.com/fizmat
💼 Папка с вакансиями: www.tgoop.com/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: www.tgoop.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: www.tgoop.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://www.tgoop.com/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://www.tgoop.com/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: www.tgoop.com/memes_prog
🇬🇧Английский: www.tgoop.com/english_forprogrammers
🧠ИИ: www.tgoop.com/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://www.tgoop.com/addlist/BkskQciUW_FhNjEy
Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!
Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: www.tgoop.com/ai_machinelearning_big_data
Python: www.tgoop.com/pythonl
Linux: www.tgoop.com/linuxacademiya
Собеседования DS: www.tgoop.com/machinelearning_interview
C++ www.tgoop.com/cpluspluc
Docker: www.tgoop.com/DevopsDocker
Хакинг: www.tgoop.com/linuxkalii
Devops: www.tgoop.com/DevOPSitsec
Data Science: www.tgoop.com/data_analysis_ml
Javascript: www.tgoop.com/javascriptv
C#: www.tgoop.com/csharp_1001_notes
Java: www.tgoop.com/java_library
Базы данных: www.tgoop.com/sqlhub
Python собеседования: www.tgoop.com/python_job_interview
Мобильная разработка: www.tgoop.com/mobdevelop
Golang: www.tgoop.com/Golang_google
React: www.tgoop.com/react_tg
Rust: www.tgoop.com/rust_code
ИИ: www.tgoop.com/vistehno
PHP: www.tgoop.com/phpshka
Android: www.tgoop.com/android_its
Frontend: www.tgoop.com/front
Big Data: www.tgoop.com/bigdatai
МАТЕМАТИКА: www.tgoop.com/data_math
Kubernets: www.tgoop.com/kubernetc
Разработка игр: https://www.tgoop.com/gamedev
Haskell: www.tgoop.com/haskell_tg
Физика: www.tgoop.com/fizmat
💼 Папка с вакансиями: www.tgoop.com/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: www.tgoop.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: www.tgoop.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://www.tgoop.com/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://www.tgoop.com/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: www.tgoop.com/memes_prog
🇬🇧Английский: www.tgoop.com/english_forprogrammers
🧠ИИ: www.tgoop.com/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://www.tgoop.com/addlist/BkskQciUW_FhNjEy
Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!
📱 Android Kotlin полезный совет
Часто при работе с
Вместо этого используй View Binding — он безопасный по типам и упрощает доступ к элементам.
Включение View Binding
Использование в Activity
📌 Плюсы:
✅ Нет NullPointerException при обращении к View
✅ Нет ручных findViewById
✅ Чистый и читаемый код
Часто при работе с
findViewById
код засоряется и становится длинным. Вместо этого используй View Binding — он безопасный по типам и упрощает доступ к элементам.
Включение View Binding
В `build.gradle` (модуля):
```gradle
android {
buildFeatures {
viewBinding true
}
}
Использование в Activity
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
// Теперь доступ к элементам напрямую
binding.textView.text = "Hello, ViewBinding!"
binding.button.setOnClickListener {
Toast.makeText(this, "Кнопка нажата", Toast.LENGTH_SHORT).show()
}
}
}
📌 Плюсы:
✅ Нет NullPointerException при обращении к View
✅ Нет ручных findViewById
✅ Чистый и читаемый код
😐9🔥4❤3
Свежий опенсорс инструмент, который берёт любой сайт и превращает его в готовое React-приложение за минуту — Open Lovable v2
Построен на базе Firecrawl, поддержка разных LLM, песочницы E2B и Vercel. Короче, идеально для прототипов.
Забираем тут
Построен на базе Firecrawl, поддержка разных LLM, песочницы E2B и Vercel. Короче, идеально для прототипов.
Забираем тут
GitHub
GitHub - firecrawl/open-lovable: 🔥 Clone and recreate any website as a modern React app in seconds
🔥 Clone and recreate any website as a modern React app in seconds - firecrawl/open-lovable
🔥1
⚡️ Команда дня:
Когда коммиты множатся быстрее, чем баги на проде, приходит время навести порядок в истории. И тут спасает интерактивный ребейз.
Что он умеет?
— squash (s) — объединить несколько коммитов в один. Удобно при 10-ти коммитах «fix»
— reword (r) — поменять сообщение коммита, не трогая сам код
— edit (e) — остановиться на коммите, чтобы поправить код прямо в процессе переписывания истории
— drop (d) — удалить ненужный коммит
— pick (p) — оставить коммит как есть (по умолчанию)
Когда это пригодится?
🔸Перед созданием merge/pull request, чтобы не тащить в историю «мусорные» коммиты
🔸 Чтобы объединить мелкие правки в один логичный коммит
🔸 Чтобы откатить или отредактировать только часть изменений без лишнего шума
💡 А вы часто squash-ите коммиты или оставляете как есть?
git rebase -i
Когда коммиты множатся быстрее, чем баги на проде, приходит время навести порядок в истории. И тут спасает интерактивный ребейз.
Что он умеет?
— squash (s) — объединить несколько коммитов в один. Удобно при 10-ти коммитах «fix»
— reword (r) — поменять сообщение коммита, не трогая сам код
— edit (e) — остановиться на коммите, чтобы поправить код прямо в процессе переписывания истории
— drop (d) — удалить ненужный коммит
— pick (p) — оставить коммит как есть (по умолчанию)
Когда это пригодится?
🔸Перед созданием merge/pull request, чтобы не тащить в историю «мусорные» коммиты
🔸 Чтобы объединить мелкие правки в один логичный коммит
🔸 Чтобы откатить или отредактировать только часть изменений без лишнего шума
💡 А вы часто squash-ите коммиты или оставляете как есть?
❤1👍1🔥1
🎶 OpenSpot Music - Your Gateway to Limitless Music
OpenSpot Music предлагает возможность стриминга и скачивания музыки без рекламы и входа в систему. Доступно на мобильных и десктопных платформах, приложение обеспечивает высокое качество звука и удобный интерфейс.
🚀 Основные моменты:
- Мобильное приложение на React Native для Android и iOS
- Десктопное приложение на Electron для macOS, Windows и Linux
- Оффлайн-доступ и фоновое воспроизведение
- Поддержка локального хранения и управления окнами
📌 GitHub: https://github.com/BlackHatDevX/openspot-music-app
#javascript
OpenSpot Music предлагает возможность стриминга и скачивания музыки без рекламы и входа в систему. Доступно на мобильных и десктопных платформах, приложение обеспечивает высокое качество звука и удобный интерфейс.
🚀 Основные моменты:
- Мобильное приложение на React Native для Android и iOS
- Десктопное приложение на Electron для macOS, Windows и Linux
- Оффлайн-доступ и фоновое воспроизведение
- Поддержка локального хранения и управления окнами
📌 GitHub: https://github.com/BlackHatDevX/openspot-music-app
#javascript
GitHub
GitHub - BlackHatDevX/openspot-music-app: OpenSpot is a free and open-source music streaming application designed for a seamless…
OpenSpot is a free and open-source music streaming application designed for a seamless, high-fidelity listening experience. Built with a modern tech stack, it features a beautiful, responsive UI th...
❤2
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
Google выпустили LiteRT-LM - фреймворк для запуска LLM прямо на устройстве (offline), с минимальной задержкой и без API-вызовов.
Если вы пилите приложения, это полезная штука, потому что:
- Работает на устройстве: нет задержек от удалённых серверов
- Нет расходов на API
- Дает доступ к Локальному GenAI
🔍 Основное
- LiteRT-LM уже используется внутри Gemini Nano / Gemma в Chrome, Chromebook Plus и Pixel Watch.
- Открытый C++ интерфейс (preview) для интеграции в кастомные решения.
- Архитектура: Engine + Session
• Engine хранит базовую модель, ресурсы - общий для всех функций
• Session - контекст для отдельных задач, с возможностью клонирования, копирования “по записи” (Copy-on-Write) и лёгких переключений
- Поддержка аппаратного ускорения (CPU / GPU / NPU) и кроссплатформенность (Android, Linux, macOS, Windows и др.)
- Для Pixel Watch используется минимальный “pipeline” - только необходимые компоненты - чтобы уложиться в ограничения памяти и размера бинарей
Google опенсорснули целый стек для запуска GenAI на устройствах:
- LiteRT быстрый «движок», который запускает отдельные AI-модели на устройстве.
- LiteRT-LM - интерфейс C++ для работы с LLM. Он объединяет сразу несколько инстурментов : кэширование промптов, хранение контекста, клонирование сессий и т.д.
- LLM Inference API - готовые интерфейсы для разработчиков (Kotlin, Swift, JS). Работают поверх LiteRT-LM, чтобы можно было легко встраивать GenAI в приложения.
@ai_machinelearning_big_data
#AI #Google #LiteRT #LiteRTLM #GenAI #EdgeAI #OnDeviceAI #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3
🚀 Ultimatum
Форк Chromium с поддержкой веб-расширений на Android, возможностями браузера, скрывающими его от обнаружения, поддержкой Web3.0 и многим другим
https://github.com/gonzazoid/Ultimatum
Форк Chromium с поддержкой веб-расширений на Android, возможностями браузера, скрывающими его от обнаружения, поддержкой Web3.0 и многим другим
https://github.com/gonzazoid/Ultimatum
GitHub
GitHub - gonzazoid/Ultimatum: Ultimatum is a chromium fork with webextensions support on Android, anti-detect browser capabilities…
Ultimatum is a chromium fork with webextensions support on Android, anti-detect browser capabilities, web3.0 support and much more - gonzazoid/Ultimatum
❤2