entregas_app/docs/CORRECAO_CRASH_ROUTES_SCREE...

99 lines
2.6 KiB
Markdown
Raw Normal View History

# 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