После выпуска приложений для iOS я захотел сделать их и для Android. Поскольку оба были созданы на Expo, я ожидал, что это будет просто, — так и было в основном! Но по пути мне встретились неожиданности, которые могут помочь другим.
⚙️ 1. Перенос с Expo
Самое лучшее? Не потребовалось больших изменений кода.
Expo сделал сборку для Android очень простой: мне не пришлось выходить из managed-режима или выполнять глубокую платформенную настройку. Но когда я начал тестировать, я заметил кое-что странное…
🖋️ 2. Проблемы интерфейса — размеры шрифтов на Android
Некоторые экраны на Android выглядели слегка неправильно.
Оказалось, что Android отображает шрифты чуть крупнее, чем iOS, поэтому отступы в интерфейсе местами «ломались». Моё решение: я написал небольшую вспомогательную функцию, которая автоматически немного уменьшает размеры шрифтов на устройствах Android.
import { Platform } from "react-native";
export const normalizeFont = (size: number) => {
return Platform.OS === "android" ? size * 0.95 : size;
};Мелкая правка — большая разница: всё снова выглядело сбалансированно.
🧩 3. Настройка Google Play
Здесь стало сложнее. Чтобы опубликовать приложение, мне пришлось:
- Сгенерировать и загрузить keystore (Expo делает это автоматически, если у вас его нет).
- Добавить ключи в Firebase для интеграции с Android.
- Скачать файл
google-services.jsonи включить его в проект Expo (в папку app/).
Процесс сборки Expo с помощью eas build -p android выполнил большую часть работы, но важно было дважды проверить подключение Firebase.
🔐 4. Настройка Google Authentication
Поскольку мои приложения уже использовали Firebase, включить Google Auth для Android было легко: Firebase автоматически связал его через подключённый проект. Дополнительной ручной настройки не потребовалось, кроме включения провайдера в Firebase Console.
🧪 5. Закрытое тестирование — поиск тестировщиков
Среди моих друзей было мало пользователей Android, поэтому я попробовал несколько вариантов:
- Опубликовал приглашения к тестированию в X, Reddit и daily.dev
- Нашёл в Google Play отличное приложение «12 Testers - Closed Test Pro», где разработчики 14 дней тестируют приложения друг друга.
Отзывы сообщества очень помогли перед публичным релизом.
✅ 6. Проверка и одобрение
После исправления деталей интерфейса и тестирования оба приложения были проверены и одобрены без проблем! Процесс оказался даже проще, чем проверка в iOS 😅
📱 Наконец-то мои приложения доступны!
🍱 TinyRecipe доступно в:
💰 TinyDebt доступно в:
💡 Заключительные мысли
Если вы используете Expo, публикация на Android проходит на удивление гладко: большинство препятствий связано скорее с дизайном, чем с техникой. Тестирование на разных устройствах очень важно, но когда оно сделано, процесс публикации в Play Store ощущается быстрым и удобным для разработчика.
