От переводчика: постарался все изложить максимально близко к оригиналу. Перевод получился в свободной форме — думаю это лучше передаст смысл статьи. На картинках есть всплывающие подсказки. Оригинал здесь.
Я решил написать о некоторых типичных ошибках и проблемах, с которыми когда-то столкнулся сам, когда начинал разрабатывать Android-приложения три года назад, и нескольких других, с которыми сталкивались начинающие Андроид-разработчики. Итак, поехали!
1. Тот момент, когда ты сделал все страницы своего приложения используя Активити, а твой босс сказал тебе, что он хочет чтобы страницы можно было перелистывать свайпом

И ты пытаешься объяснить, что прежде чем можно будет менять страницы приложения свайпом, активити нужно переделывать во фрагменты

Совет: одно из лучших решений, что ты можешь предпринять — всегда использовать фрагменты, а активити использовать только для управления фрагментами. Активити — это доисторические традиции Андроида. Использование фрагментов — безусловно приносит пользу. Но это не правило, а всего лишь один из способов избежать подобной проблемы.
2. Когда ты пытаешься собрать релиз-версию приложения, после добавления сотни зависимостей, и получаешь таинственные и непонятные ошибки от ProGuard, которые нереально пофиксить

Совет: в зависимости от рабочего процесса, это неплохая практика чтобы собрать релиз-версию проекта и не ждать долгие месяцы пока проект не будет завершен. Это позволит протестировать приложение и легко определить ошибки, пока кодовая база еще достаточно маленькая.
Другой хорошей практикой будет проверка правила ProGuard'а для фреймворков, которые применяются в проекте. Имеет смысл добавить нужные правила ProGuard для библиотеки и все должно хорошо работать.
3. Когда ты пытаешься обновить код, который был написан без соблюдения какой-либо архитектуры

Совет: эта тема заняла бы целый рассказ. Лучше всего проверить старый код и написать несколько тестов, исключив в нем ошибки, перед тем как начать рефакторинг. Поверь мне, если это не твой собственный проект, ты не захочешь переписывать его с нуля.
4. Когда ты забыл загрузить маппинг-файл ProGuard’а в аналитику сбоев Firebase, и последний билд крэшнулся с обфусцированными ошибками

Совет: можно установить автоматическую загрузку маппингов ProGuard’а в инструменты аналитики сбоев Firebase. Подробнее об этом можно прочитать здесь.
5. Когда загрузил свое первое приложение в Google Play Store и получил всего 50 загрузок за три месяца…

Совет: в первую очередь лучше создавать приложения, которые необходимы людям, тогда ты обретешь успех в маркете. Также, приложение не сможет разрекламировать себя само.
Ты потратил 500 часов своего времени на создание приложения, и не можешь позволить себе потратить несколько долларов и сотню часов чтобы продвинуть его?
6. Когда ты вернулся к своему коду, который писал 3 месяца назад

Совет: это одновременно и хорошо и плохо. Хорошо — потому что ты стал лучше писать код за последние три месяца и теперь видишь свои собственные ошибки. А почему плохо? На самом деле ничего серьезного: ты вырос за три месяца и вряд ли сделаешь похожие ошибки
7. Когда пытаешься собрать проект в Android Studio на старом, слабом компьютере

Совет: существует официальное руководство как ускорить сборку проекта.
8. Когда твое приложение крашится только в release-mode и ты не видишь логи, чтобы узнать что происходит

Совет: самое простое решение — внедрить crash reporter, например Crashlytics, и ты сможешь зафиксировать ошибку в консоли.
9. Когда ты ждешь бэкэнд-разработчика чтобы завершить API.

Совет: можно попросить структуру будущего API у бэкенд-разработчиков и создать макет используя какие-либо фиктивные данные для работы. Это не всегда будет хорошо работать, и придется иногда вносить некоторые изменения чтобы потом работать с реальным API.
10. Когда твое приложение стало популярным в Google Play Store.

Совет: включай свою любимую песню и танцуй! Ты отлично поработал и это не было зря!
Постарайся не потерять популярность в маркете, и начинай проводить вечеринки (Пожалуйста пригласи меня).
Продолжай делать потрясающие приложения которые нужны людям, и помни:

Автор: RYGITAL