Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
🤖Новые возможности для разработчиков циферблатов для WearOS
В WearOS 6 будет поддерживаться новая версия Watch Face Format (WFF). Она принесет
👉 Добавление пользовательского фото
👉 Анимации при переходе и выходе из спящего (ambient) режима
👉 Цветовые трансформации на основе значения
👉 Автоматическое изменения размера текста (доступно в WFF v3)
#android#wearos
🤖WearOS 6 позволит создавать магазины циферблатов
Google предоставляет множество возможностей по созданию циферблатов для WearOS на основе Watch Face Format и в следующей ОС добавляют Watch Face Push API, позволяющее создать свой магазин циферблатов 🤯
Циферблаты будут публиковать как и ранее. Разработчик может сделать приложение с витриной циферблатов и устанавливать их на часы с помощью Watch Face Push API
#android#wearos
🤖Snapdragon Wear Elite — новый чип для носимых устройств
На MWC 2026 Qualcomm анонсировала Snapdragon Wear Elite — первый чип серии Elite для носимых устройств. И это реально большое обновление на бумаге.
Чип сделан по 3нм техпроцессу. По сравнению с предыдущим Snapdragon W5+ Gen 2:
🚀 5x быстрее по CPU
🚀 7x быстрее по GPU
🔋 +30% к времени работы от батареи
⚡️зарядка до 50% всего за 10 минут
Главная фишка — впервые в носимых появился выделенный Hexagon NPU с поддержкой моделей до 2B параметров прямо на устройстве🤯
Это значит, что голосовые помощники, перевод, транскрибация и фитнес-аналитика смогут работать без облака.
Первые устройства ждём уже через несколько месяцев. Интересно, будет ли это заметно в реальном использовании или снова всё утонет в маркетинге AI-фич, а их работа приведет к быстрому сгоранию заряда батарейки на устройстве.
#Android#AndroidDev#WearOS
🤖Из WearOS убирают поддержку циферблатов на основе AndroidX / Wearable Support Library (WSL)
Как часть улучшения качества работы WearOS компания отказывается от использования старых инструментов для создания циферблатов и переходит на Watch Face Format (уже скоро будет версия 4) - декларативный XML формат без написания кода для создания циферблатов 🤯
Все изменения вступают с 14 января 2026, а именно:
‼️ Пользователи не смогут установить циферблаты старых форматов. Те что уже были установлены, продолжат работать.
‼️ Разработчики циферблатов должны мигрировать на WFF
🪙 Для циферблатов старого формата отключат всю монетизацию
‼️ Если использовали Watch Face Studio для создания циферблата, тогда вам надо повторно отправить их в Google Play с использованием версии 1.8.7 и выше
⚰️ Публиковать циферблаты старого формата уже нельзя с 27 января 2025, только обновлять те что опубликовали ранее
Подробнее про новый формат циферблатов в официальной документации
#android#wearos#googleplay
My first Wear OS app on Play Store, “Simple Memo”, is now open for testing.
Check it out and learn how to join the test!
https://1a23.com/works/open-source/simple-memo/
#WearOS#PlayStore🐟
🤖Важно для разработчиков Wear OS: с 2026 года обязательна 64-битная поддержка
Google объявила, что с 15 сентября 2026 года все новые приложения и обновления для Wear OS, содержащие нативный код (C/C++), должны включать 64-битную версию наряду с 32-битной. Google Play начнёт блокировать загрузку несовместимых APK/AAB.
Что нужно сделать разработчикам:
👉 Проверьте, есть ли в вашем приложении нативный код (файлы .so в lib/armeabi-v7a или lib/arm64-v8a). Даже если вы не пишете на C++, зависимости или SDK могут его добавлять.
👉 Для каждой 32-битной ABI (armeabi-v7a) добавьте 64-битную (arm64-v8a).
👉 Обновите сторонние SDK до версий с поддержкой 64 бит.
👉 Протестируйте приложение на 64-битном эмуляторе Wear OS (все новые образы уже 64-битные).
⚠️ Политика 32-битной поддержки не отменяется — Google Play по‑прежнему будет доставлять приложения на старые 32-битные устройства.
🔗Гайд по миграции
🔗 Источник - Android Dev Blog
#WearOS#AndroidDev#GooglePlay
Material 3 Expressive начали раскатывать на Android часы. Сразу сделали краткий обзор нововведений и запустили неделю, посвященную разработки под обновлённую WearOS
#android#wearos#material3expressive