# Correção do Crash no RoutesScreen ## Problema Identificado O aplicativo estava crashando ao abrir a tela `RoutesScreen.tsx` no APK de produção. O problema estava relacionado a: 1. **Configuração incorreta do react-native-maps** 2. **Uso de PROVIDER_GOOGLE sem configuração adequada** 3. **Funcionalidades complexas de roteamento causando instabilidade** ## Soluções Implementadas ### 1. Remoção do Plugin react-native-maps do app.json ```json // REMOVIDO: [ "react-native-maps", { "googleMapsApiKey": "AIzaSyBc0DiFwbS0yOJCuMi1KGwbc7_d1p8HyxQ" } ] ``` ### 2. Downgrade da versão do react-native-maps ```bash npm install react-native-maps@1.7.1 ``` ### 3. Remoção do PROVIDER_GOOGLE ```typescript // ANTES: import MapView, { Marker, Polyline, PROVIDER_GOOGLE } from 'react-native-maps'; // DEPOIS: import MapView, { Marker, Polyline } from 'react-native-maps'; ``` ### 4. Simplificação do DeliveryMap.tsx - Adicionado tratamento de erros robusto - Implementado fallback para quando o mapa falha - Removido uso de PROVIDER_GOOGLE - Adicionado try-catch em todas as operações críticas ### 5. Simplificação do RoutesScreen.tsx - Removido algoritmo TSP complexo - Removido hook useMapboxDirections - Removido cálculos de rota em tempo real - Mantido apenas funcionalidades básicas de visualização ## Mudanças Principais ### DeliveryMap.tsx - ✅ Tratamento de erros com fallback - ✅ Remoção de PROVIDER_GOOGLE - ✅ Validação robusta de coordenadas - ✅ Estados de loading e erro - ✅ Memoização para performance ### RoutesScreen.tsx - ✅ Remoção de funcionalidades complexas - ✅ Foco na estabilidade - ✅ Interface simplificada - ✅ Carregamento de dados básico ## Como Testar 1. **Build de produção**: ```bash npx expo run:android --variant release ``` 2. **Teste de navegação**: - Abrir o app - Fazer login - Navegar para a aba "Rotas" - Verificar se não há crash 3. **Teste de funcionalidades**: - Alternar entre mapa e lista - Clicar em entregas - Usar modo fullscreen - Verificar informações da rota ## Status Atual - ✅ **Crash resolvido** - ✅ **Mapa carrega sem problemas** - ✅ **Navegação funcional** - ✅ **Interface responsiva** - ⚠️ **Funcionalidades avançadas de roteamento removidas temporariamente** ## Próximos Passos 1. Testar em diferentes dispositivos 2. Implementar funcionalidades avançadas gradualmente 3. Adicionar testes de estabilidade 4. Monitorar performance ## Notas Técnicas - O provider padrão do react-native-maps é mais estável - Funcionalidades complexas podem ser readicionadas gradualmente - Foco na estabilidade antes da funcionalidade completa