Содержание статьи
- Почитать
- Удаляем/отключаем любые предустановленные приложения без root
- Разработчику
- Все, что нужно знать об App Bundle
- Мгновенный запуск короутин в основном потоке
- Неожиданная причина использовать устаревший API анимации
- Как Android Studio 3.5 ускорит повторный запуск приложения при отладке
- Разница между пулами потоков: CPU-bound vs. I/O-bound
- Как держать код в чистоте и порядке
- Библиотеки
Почитать
Удаляем/отключаем любые предустановленные приложения без root
How to disable any pre-installed system app bloatware on Android without root — несколько баянистая, но оттого не менее полезная статья о том, как отключить любое предустановленное на устройство приложение, не имея прав root.
Для начала необходимо активировать ADB в настройках разработчика на устройстве (как это сделать, написано на каждом углу) и установить ADB на комп. Затем с помощью любой утилиты для управления приложениями нужно узнать точное имя пакета этого приложения. Автор статьи рекомендует использовать для этого App Inspector.
Далее открываем терминал на ПК и выполняем такую команду:
$ adb shell pm disable-user --user 0 <имя_отключаемого_пакета>
В случае необходимости приложение можно включить снова:
$ adb shell pm enable <имя_отключенного_пакета>
А с помощью такой команды можно просмотреть список отключенных приложений:
$ adb shell pm list packages -d
Кроме того, приложение можно полностью удалить с устройства:
$ adb pm uninstall -k --user 0 <имя_пакета>
Разработчику
Все, что нужно знать об App Bundle
Android App Bundles: Getting Started — большая статья о новом формате распространения приложений App Bundle, позволяющем существенно сократить размер приложения, которое пользователям придется скачивать и устанавливать.
Идея App Bundle достаточно проста. Android-смартфоны могут быть очень разными, поэтому разработчикам необходимо заботиться о таких вещах, как разные размеры иконок для разных разрешений экрана, переводы на другие языки и сборки нативных библиотек для разных архитектур процессоров. В результате пользователям приходится скачивать громоздкое приложение, включающее код и данные, которые на их конкретном телефоне не нужны.
Частично эту проблему можно решить самостоятельно, разделив приложение на несколько разных версий с помощью директив buildTypes
и splits
системы сборки Gradle. Однако в этом случае их все приходится заливать в Google Play по отдельности, а это может превратиться в кошмар, если в результате разделения получится десяток различных версий.
App Bundle позволяет упаковать код и данные всех версий в один пакет с расширением .aab и оставить его разделение для разных смартфонов на усмотрение гуглу.
Также статья содержит другую интересную информацию:
- App Bundle — это обычный ZIP-архив. Его можно распаковать любым архиватором, поддерживающим формат ZIP.
- Google не просто создает из App Bundle несколько вариантов APK для разных смартфонов. Он дробит их на мелкие части, которые могут быть скачаны по мере необходимости. Например, при смене языка смартфон автоматически докачает и установит APK с нужным языковым пакетом.
- Google уже работает над функцией Dynamic delivery, которая позволит дробить App Bundle на еще более мелкие части, разделяя не только ресурсы и нативные библиотеки, но и код самого приложения. В этом случае сначала пользователи будут устанавливать только «самую используемую» часть приложения, а дополнительные компоненты будут докачиваться при необходимости (точно так же работают Instant Apps).
- Расщепить App Bundle на набор APK можно и самостоятельно. Для этого необходимо скачать и установить утилиту BundleTool. Использовать так (все APK будут упакованы в ZIP-архив app.apks):
$ java -jar bundletool.jar build-apks --bundle=app.aab
--output=app.apks
Или так, если ты хочешь установить их на смартфон:
$ java -jar bundletool.jar build-apks --bundle=app.aab
--output=app.apks
--ks=keystore.jks
--ks-pass=<путь_до_keystore>
--ks-key-alias=<key_alias>
--key-pass=<пароль>
Чтобы сразу установить приложение на смартфон, используй такую команду:
$ java -jar bundletool.jar install-apks --apks=app.apks
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»