Documentation Index
Fetch the complete documentation index at: https://mintlify.com/soymatudev/Pokedex-Fleek/llms.txt
Use this file to discover all available pages before exploring further.
Overview
PokéDex Fleek uses Expo Application Services (EAS) for building and deploying the app. EAS handles the complex native build process in the cloud, so you don’t need to set up Xcode or Android Studio locally.Prerequisites
1. Create an Expo Account
2. Install EAS CLI
3. Configure Project
The project is already configured witheas.json. Verify the configuration:
eas.json
The project is linked to EAS Project ID:
48249dfc-e43a-4b6c-bb06-0f1ac9742e05 (configured in app.json).Build Profiles
EAS supports three build profiles, each serving a different purpose:- Development
- Preview
- Production
Purpose: Testing with dev tools and debuggingFeatures:
- Includes Expo Dev Client
- Fast Refresh enabled
- Debug mode
- Internal distribution only
- Testing native modules on real devices
- Debugging camera features
- Development iteration
Building for Android
Development Build
- Direct download from EAS dashboard
- QR code scan
adb install app-debug.apk
Preview Build
Production Build (APK)
Production Build (AAB for Play Store)
Building for iOS
Development Build
-
Simulator build (free, no Apple account needed):
Drag
.appfile to Simulator to install. -
Device build (requires Apple Developer account):
- EAS will prompt for credentials
- Builds are signed with development certificate
- Install via TestFlight or direct download
Preview Build
- TestFlight (recommended)
- Ad-hoc installation (limited to 100 devices)
Production Build (App Store)
Production builds use App Store distribution certificate and must be submitted through App Store Connect.
Build Process Details
What Happens During a Build?
Compilation
- Android: Gradle builds APK/AAB with ProGuard/R8 optimization
- iOS: Xcode builds IPA with bitcode and symbols
- Android: 5-15 minutes
- iOS: 10-20 minutes
Monitoring Build Progress
- Dependency resolution
- Native compilation output
- Errors and warnings
- Download URLs when complete
Credentials Management
Android Credentials
EAS automatically manages Android keystores:- Keystore - Used to sign APKs/AABs
- Key alias - Identifier for signing key
- Key password - Protects the keystore
iOS Credentials
For iOS, EAS manages:- Distribution Certificate - Signs app for App Store
- Provisioning Profile - Device and entitlements configuration
- Push Notification keys - For push notifications
- Let EAS manage (recommended) - Automatic credential creation
- Bring your own - Use existing certificates from Apple Developer
Platform-Specific Configuration
Android Configuration
Update Version Code/Name
app.json
Permissions
Required permissions are already configured inapp.json:
ProGuard/R8 (Code Minification)
EAS automatically applies code shrinking in production builds.iOS Configuration
Update Version/Build Number
app.json
Info.plist Permissions
Camera permissions are configured:Bitcode
Bitcode is enabled by default for App Store optimization.Testing Builds
Installing on Android
- Direct Download
- ADB Install
- Internal Distribution
- Build completes on EAS
- Open build URL on your Android device
- Download and install APK
- Allow installation from unknown sources if prompted
Installing on iOS
- Simulator
- TestFlight (Recommended)
- Ad-Hoc
Submitting to App Stores
Google Play Store
Create Play Console Account
Register at https://play.google.com/console ($25 one-time fee)
Create App Listing
- Add app name, description, screenshots
- Set category and content rating
- Add privacy policy URL
Apple App Store
Create App Record
- Go to App Store Connect
- Click + to create new app
- Set bundle ID:
com.anonymous.PokedexFleek - Add app information
Troubleshooting Build Errors
Common Android Errors
Gradle Out of Memory
Gradle Out of Memory
Error:
OutOfMemoryError: Java heap spaceSolution:Dependency Conflict
Dependency Conflict
Error: Version conflicts between librariesSolution:
Keystore Issues
Keystore Issues
Error: Keystore signature mismatchSolution:
Common iOS Errors
Provisioning Profile
Provisioning Profile
Error: No matching provisioning profile foundSolution:
CocoaPods Errors
CocoaPods Errors
Error: Pod install failuresSolution:
Capabilities Issues
Capabilities Issues
Error: Missing entitlementsCheck:
- App ID has required capabilities (Camera)
- Provisioning profile includes capabilities
app.jsondeclares required permissions
Build Cache Issues
CI/CD Integration
GitHub Actions Example
.github/workflows/build.yml
Set
EXPO_TOKEN in GitHub repository secrets. Generate token at https://expo.dev/accounts/[account]/settings/access-tokensBest Practices
Version Control
- Tag releases in Git:
git tag v1.0.0 - Keep
eas.jsonin version control - Document build settings in README
Testing Strategy
- Use
developmentprofile during feature work - Use
previewfor beta testing - Only use
productionfor final releases
Security
- Never commit keystores or certificates
- Use EAS credential management
- Enable 2FA on Expo account
Performance
- Enable Hermes for faster startup
- Use ProGuard/R8 on Android
- Test on real devices, not just simulators
Build Checklist
Before submitting to stores:Update Versions
- Increment
versioninapp.json - Update
versionCode(Android) - Update
buildNumber(iOS)
Test Thoroughly
- Test on real Android device
- Test on real iOS device
- Verify camera permissions
- Test color detection accuracy
- Check audio playback
Assets & Metadata
- Update app icons
- Create screenshots (5.5”, 6.5” for iOS)
- Write store descriptions
- Prepare privacy policy URL
Next Steps
Project Structure
Review the codebase architecture
Running Locally
Set up your development environment