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

TGINSIGHT SIMILAR POSTS

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

Изходен канал @clockstackwheels · Post #113 · 27.12

Всегда мечтал быть тем чуваком, которому присылают тестовые версии устройств на зацен, ещё до поступления в продажу. И вот Сбер таки прислал. Год назад я писал о выходе SberPortal — умной колонки с экраном. Тогда казалось, что акцент у Сбера именно такой — обязательное наличие экрана даже при голосовом управлении. Но сейчас они выпустили voice-only устройство: SberBox Time. Нет, его всё ещё можно подключить к телевизору, но это не обязательно, и по факту колонка является чем-то средним между большой и маленькой Яндекс Станциями, с уклоном в большую: и звук помощнее, и HDMI есть. Устройство пока не продаётся, но некоторым разработчикам под Сбер выслали демонстрационные экземпляры. Стоит сразу отметить любопытную дизайнерскую находку — аналоговые часы вместо дисплея. Находка именно что любопытная. По факту сугубо на мой взгляд часы не являются ни шибко красивыми, ни тем более удобными. Определять по ним время тяжело, а из-за матового стекла лично у меня постоянно возникает желание настроить резкость. Однако, сама мысль скрещивать хайтек с чем-то более конвервативным звучит привлекательно. Возможно, я становлюсь старым, а может, просто устал от повсеместной цифровизации всего вокруг, но даже при субъективно спорном дизайне часики вполне приятно разместились на стеллаже. Впрочем, колонка пока что сырая — ложные срабатывания, неопределённо скачущая громкость, ошибки в ответах. К счастью, это всё исправляется апдейтами софта, а Сбер за прошедший год показал себя очень внимательным в вопросе фикса багов, и опередил здесь по скорости всех конкурентов. Посмотрим, что из этого выйдет. Прикольная мелочь: на офсайте SberBox Time предлагают скачать модели для 3D-печати и "надеть" на колонку всякие ушки, рожки, плавники, крылья итд. Я сначала подумал, что это полный бред, но для интереса распечатал, и надо сказать очень мило вышло, даже мне взрослому не хочется снимать, а уж дети то вообще должны быть в восторге (известно, что дети составляют значительную долю среди пользователей умных колонок). #gadgets

Hashtags

Резултати

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

Търсене: #koltin

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

@android_broadcast · Post #9301 · 06.07.2025 г., 18:53

🏝Проблемы с порядком Gradle Task при использовании KSP 2.0.2 Продолжаю разработку проекта FrameIO - Kotlin Multiplatform клиента для сервиса frame.io и стоклнулся с падением сборки из-за порядка задач (ниже стек с примером проблемы): Some problems were found with the configuration of task ':module:kspDebugKotlinAndroid' (type 'KspAATask'). - Gradle detected a problem with the following location: './module'. Reason: Task ':module:kspDebugKotlinAndroid' uses this output of task ':module:javaPreCompileDebug' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Possible solutions: 1. Declare task ':module:javaPreCompileDebug' as an input of ':module:kspDebugKotlinAndroid'. 2. Declare an explicit dependency on ':module:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#dependsOn. 3. Declare an explicit dependency on ':core:user-session:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#mustRunAfter. For more information, please refer to https://docs.gradle.org/8.14.2/userguide/validation_problems.html#implicit_dependency in the Gradle documentation. Стек для сборки: Gradle 8.14.2, Kotlin 2.2.0, KSP 2.2.0-2.0.2, AGP 8.11.0 Решения проблемы пока нету в KSP (одно из issue), поэтому я задаю порядок Gradle Task сам: // build.gradle.kts модуля где подключен ksp afterEvaluate { android.libraryVariants.forEach { variant -> val variantCapitalized = variant.name.capitalized() tasks.named("ksp${variantCapitalized}KotlinAndroid") { dependsOn( "${variant.name}AssetsCopyForAGP", "process${variantCapitalized}Manifest", "write${variantCapitalized}AarMetadata", "javaPreCompile${variantCapitalized}", "merge${variantCapitalized}Assets", "merge${variantCapitalized}JniLibFolders", "merge${variantCapitalized}NativeLibs", "copy${variantCapitalized}JniLibsProjectOnly", "generate${variantCapitalized}EmptyResourceFiles", "copy${variantCapitalized}JniLibsProjectAndLocalJars", "prepare${variantCapitalized}ArtProfile", "write${variantCapitalized}LintModelMetadata", "extractProguardFiles", "prepareLintJarForPublish", ) } } } #android#kmp#koltin#ksp