App Flutter (Bíblia) – versão open-source focada em Android.
Este repositório contém o código fonte do app, com instruções para configurar seu ambiente local e publicar sua própria versão.
- Como rodar localmente (Android)
- Configuração de Segredos e IDs (Android)
- Publicação (Google Play)
- Fonte dos Dados da Bíblia
- Dependências Principais
- Troubleshooting
- Contribuições
- Flutter SDK: Versão 3.8 ou superior. Instalação.
- Android Studio: Com Android SDK e ferramentas de build. Download.
- JDK: Versão 11 ou superior para Android builds.
- Dispositivo Android ou emulador configurado.
-
Clone o repositório e navegue até a pasta:
git clone <url-do-repo> cd aBible
-
Instale as dependências do Flutter:
flutter pub get
-
Verifique se tudo está configurado:
flutter doctor
-
Execute o app em modo debug:
flutter run
Nota: Este projeto é focado em Android; builds para iOS não são suportados.
Nada sensível é versionado. Você deve configurar localmente:
- Gere sua keystore de release (ou use uma existente):
- Exemplo (opcional):
keytool -genkey -v -keystore release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias seu-alias
- Exemplo (opcional):
- Copie
android/key.properties.exampleparaandroid/key.propertiese preencha:
storeFile=../release-key.jks
storePassword=SUA_SENHA
keyAlias=SEU_ALIAS
keyPassword=SUA_SENHAObservações:
- O build de release usa
key.propertiesautomaticamente SE o arquivo existir. - Caso não exista, o build de release usará a assinatura de debug (apenas para testes locais).
release-key.jksekey.propertiesestão no .gitignore e não serão versionados.
- Android: o App ID do AdMob é injetado via placeholder de manifesto
ADMOB_APP_ID.- Opcional: defina em
android/gradle.properties(não comite segredos):ADMOB_APP_ID=ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy
- Se não definir, um App ID de TESTE do Google será usado por padrão.
- Opcional: defina em
- Unidades de anúncio (ad units): edite
lib/constants/ad_ids.local.darte substitua os IDs de TESTE pelos seus IDs reais (arquivo local não versionado).
Referência de IDs de TESTE do Google (Android):
- App ID:
ca-app-pub-3940256099942544~3347511713 - Banner:
ca-app-pub-3940256099942544/6300978111
- O ID do produto está em
lib/services/purchase_service.dart(_kProVersionId). Ajuste conforme seus produtos no Google Play. - Nenhuma chave secreta de servidor é necessária neste projeto (uso do plugin
in_app_purchase).
- Se vier a usar, NÃO versione
android/app/google-services.json. - Adicione-o localmente e mantenha-o fora do Git.
- Configure keystore e
key.properties. - Coloque seus App IDs/AdUnits do AdMob.
- Ajuste o ID do produto de IAP, se necessário.
- Gere o artefato de release:
- Android:
flutter build appbundleouflutter build apk --release
Nota: iOS não é suportado neste repositório (Android-only).
Os bancos de dados SQLite da Bíblia foram obtidos do repositório damarals/biblias, licenciado sob MIT. Este projeto referencia e utiliza esses dados conforme a licença.
Este projeto utiliza as seguintes dependências principais (ver pubspec.yaml para detalhes):
google_mobile_ads: Integração com anúncios AdMob.in_app_purchase: Suporte a compras no app (focado em Android).sqflite: Banco de dados SQLite local para armazenamento.provider: Gerenciamento de estado da aplicação.- Outros plugins incluem
path_provider,shared_preferences, etc., para funcionalidades como navegação e configurações.
Aqui vão algumas dicas para problemas comuns:
- Erro ao executar
flutter run: Certifique-se de que um dispositivo Android está conectado ou um emulador está rodando. Verifique comflutter devices. - Build falha: Execute
flutter cleaneflutter pub get. Verifique se JDK 11+ está instalado e configurado. - Anúncios AdMob não aparecem: Em desenvolvimento, use os IDs de teste. Para produção, substitua por IDs reais no
lib/constants/ad_ids.local.dart. - Compras no app não funcionam: Configure os produtos no Google Play Console e certifique-se de que o ID em
lib/services/purchase_service.dartcorresponde. - Problemas com keystore: Se houver erros de assinatura, gere uma nova keystore ou verifique as senhas em
android/key.properties.
Para mais ajuda, consulte a documentação do Flutter ou abra uma issue no repositório.
Contribuições são bem-vindas! Siga estes passos:
- Fork o repositório.
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature). - Faça commits claros e teste suas mudanças.
- Abra um Pull Request descrevendo as alterações.
Por favor, mantenha o foco em Android e evite adicionar dependências iOS.