Android Live 🤖
5.25K subscribers
52 photos
2 videos
806 links
Самые свежие новости, новинки и тренды Android от практикующего разработчика.


Автор: @al_gorshkov,
Чат: @android_live_chat
Личный блог: @al_gorshkov_blog

Рекламу не размещаю
Download Telegram
16KB page size

На всякий случай решил написать, что осталось всего пара недель, чтобы поддержать 16KB page size.

Наверняка вы уже перевели все нативные библиотеки, но лучше заранее перепроверьте, чтобы избежать пригорания перед 1 ноября.

Вот тут чуть больше информации о том, как проверить поддержку. 😌
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93
Перенос приложения в Huawei App Gallery

Я уже как-то писал ппро перенос приложения в Google Play в случае изменения юридического лица приложения (например, при его продаже). Это всё делается буквально за 3-4 дня, и даже заплаченные $25 за регистрацию начального аккаунта возвращают. Отлично отлаженный процесс.

Но в Huawei App Gallery такого процесса нет, а то, что предлагается — это боль и нервы. Скорее всего, вам это не пригодится, но если что — знайте, что делать.

1. Для начала открываете официальный док, и думаете, что всё хорошо: даже новый аккаунт не надо регистрировать, а можно переименовать юридическое лицо в текущем. Но это только в теории.
Renaming Application Form простая, но приложить к ней у меня получилось документы в JPEG-формате. Остальные форма отбраковывала на этапе заполнения с рандомными ошибками.

2. Через пару дней вашу заявку рассматривают, и… переименовывается часть полей: например, имя компании будет новым, но адрес — старый.

3. Создаёте заявку, где вам будет помогать поддержка, прося те же документы, которые вы изначально отправили.

4. Ещё если вы изменили юр.лицо в Google Play, то App Gallery будет реджектить ваше приложение, потому что «в Google Play у вас другие данные». То есть они не могут починить у себя проблему, но реджект делают на основе того, что есть в Google Console.

5. Это может длиться неделями: главное — не закрывайте открытый тикет, чтобы не объяснять всю ситуацию с начала.

В общем, ребятам явно есть над чем поработать. Может быть, в HarmonyOS-сторе всё получше.
👍6🤩3
Никому нельзя доверять

Сегодня не совсем про Android-разработку, но тем не менее — суперважная тема.

Попалась статья, где нашего коллегу пытались взломать через… тестовое задание. И лишь излишняя паранойя и AI-агент спасли его от потенциального взлома.

Кратко о том, что произошло. В сообщения постучался сотрудник компании, который предложил работу. Настоящая страница, реальная компания, 1000+ «друзей» в профиле. Даже посты были похожи на настоящие, с комментариями.

Во время общения было предложено сделать тестовое задание, где была отправлена болванка для запуска. Сама она тоже выглядела очень хорошо: корректный README, актуальный стек, реальный проект. Но времени было не так много, и наш герой не успел настроить sandbox-среду.
Однако интуиция заставила его прогнать код через AI-агент перед непосредственным запуском. И вот — агент нашёл обфусцированный byte-array, который мог стащить всё, что плохо лежит: криптокошельки, пароли, файлы и т.д.

Просто хочу напомнить всем нам.
🟢никогда не запускайте неизвестный код на своём основном ноутбуке. Помните о Gradle Wrapper Attack, которую очень непросто сходу найти.
🟢неизвестные куски кода скармливайте AI. Они весьма шустро переваривают всякое легаси и описывают, что происходит;
🟢проверяйте, кто вам пишет, верифицируйте профили и страницы;
🟢банально, но — обмазывайтесь любыми двухфакторками, сложными паролями, хардварными криптокошельками и т.д.
🟢доверяйте интуиции. Ваш ноутбук — это кладезь ценной и дорогой информации для злоумышленников, помните об этом.

Если вы знакомы с такими случаями — буду рад услышать вас в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
😱3112👍9🔥3😁1
Вот так новость, интересно, на другие вендроры подвезут?
Общий буфер обмена с Macbook, думаю, точно не подвезут. 😄

Кто попробовал — напишите, работает ли 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4
Lineage OS
#android

На днях обновили версию Android на моём рабочем проекте, и мой старенький Samsung S8+ стал неактуален для тестирования.

Решил посмотреть, что можно с ним сделать и нашёл решение — установить Lineage OS. Оказалось, что это сделать довольно просто, и есть масса сторонних решений на 4PDA. И не только LineageOS.

Выбрал не самую последнюю, но стабильную на базе Android 13.
Работает всё шикарно: быстрее, плавнее и дружелюбнее для батареи, чем стандартная оболочка. Очень доволен. 🫶

К слову, это ещё и неплохой способ попробовать альтернативную прошивку и получить рут-права для тестирования.

Устанавливается всё очень легко, но, похоже, мне повезло. Так гладко установить стороннюю прошивку удаётся не на любой смартфон (судя по отзывам, ведь я в этом деле совсем новичок).

Так что вот вам на заметку кейс, что можно сделать с уже «отжившими» смартфонами. 👆
Please open Telegram to view this post
VIEW IN TELEGRAM
11💯4🔥3👍2🤓1
RemoteCompose

Похоже, в конце прошлого года появился довольно любопытный подход к рендерингу UI с бэкенда — RemoteCompose. И если раньше мы видели примеры архитектур на базе JSON (вроде Epoxy), то теперь инициатором выступает Google совместно с Compose.

Идея проста: делаете Compose код удалённо, имея все плюсы server-driven UI: тут и простые A/B тесты, и быстрые изменения, и возможность удалённых фиксов, если надо скрыть фичу под флагом.

На клиенте у нас появляется RemoteDocumentPlayer и ряд других компонентов, которые помогают воспроизвести приходящий byte array с сервера и отобразить всё в нативных компонентах.

Подход любопытный и вполне жизнеспособный.
Однако, пока рано говорить про релиз, ведь вышла только первая alpha. Да и iOS-команде продать Compose не так просто, а уж RemoteCompose тем более. Но если проект KMP, то почему бы и не попробовать через несколько месяцев, когда будет хотя бы beta.

Что думаете? 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🥴12💩5🔥43👎2
Mole

Не удивлён, что macOS в топе. Хотя кто знает, может через пару тысяч голосов всё изменится. 😄
Всё равно — пусть будет полезный пост.

На днях узнал о суперполезной утилитке Mole.


Если вкратце — это тулкит, который объединяет возможности CleanMyMac, AppCleaner и других аналогичных сервисов в одной консольной утилите. Бесплатно, opensource и без лишних сложностей.
Заметил особенность: иногда может показаться, что программа «подвисает», но нужно просто подождать пару минут — это нормальное поведение, скрипт скоро продолжит работу.

Давайте поделимся в комментариях результатами: кто сколько места освободил после mo clean. У меня ушло 31.8 ГБ. Честно говоря, думал, что под сотку наберётся, но вот нет.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥114👍4
Upside Down из Stranger Things 🌌

Первый рабочий день года — отличное время для того, чтобы изучить создание красивой анимации. А возможно, и начать погружение в AGSL-шейдеры — кто знает, куда это может вас привести.

Рассказывается, как сделать эффект Upside-Down из Stranger Things. Если не знаете что это — то достаточно посмотреть анимацию: то переход от обычной тёплой картинки к мрачным, холодным тонам.

В статье по шагам рассказывается про шейдеры, HSV, анимации и их связь с псевдорандомом, и как это всё привязать к Compose.
6
This media is not supported in your browser
VIEW IN TELEGRAM
И снова про шейдеры. Finger Shadows

Ещё один эстетичный эффект, которым хотелось бы поделиться. Маловероятно, что вы сразу внедрите его в свой рабочий проект, но это отличное упражнение для отработки навыков создания красоты с помощью шейдеров

Эффект на видео, а применяется тот же RuntimeShader, что и из предыдущего примера.

Статья тут, исходники тоже.
🔥9👍2
Какую библиотеку используете для похода в сеть?
Anonymous Poll
64%
Retrofit
26%
Ktor
3%
Другую либу
7%
Не скажу. Но результаты интересны
👍2
Java Memory Model

Для тех, кто любит копаться в том, что и как работает под капотом. Отличная статья, где описываются механизмы работы JMM.

Тема непростая, однако автор довольно хорошо объясняет сложные вещи простым языком. Ну и на собесе можно выпендриться, если что.
🔥9👍32
Styles API в Jetpack Compose 🚀

Интересного завезли. В Compose появился экспериментальный API для работы со стилями, который делает их изменение гораздо удобнее.

Сейчас работа с динамическими стилями требует немало ручного труда. И хотя InteractionSource неплохо приспособлен для этих задач, Styles API упрощает процесс в разы.

Ниже приведён пример кнопки, которая меняет цвет при состояниях hovered и pressed.


@Composable
fun InteractiveButton(onClick: () -> Unit) {
ClickableStyleableBox(
onClick = onClick,
style = {
background(Color.Green)
size(150.dp)
hovered { animate { background(Color.Yellow) } }
pressed { animate { background(Color.Red) } }
}
)
}


Выглядит неплохо, посмотрим, что будет дальше. Детали тут.
🔥13👍4👎1