Initial commit: Add MathHomeworkHelper project with web and Android components
Some checks reported errors
continuous-integration/drone Build encountered an error
Some checks reported errors
continuous-integration/drone Build encountered an error
This commit is contained in:
commit
f9558008e1
37 changed files with 5318 additions and 0 deletions
389
MathHomeworkHelper/INSTALLATION.md
Normal file
389
MathHomeworkHelper/INSTALLATION.md
Normal file
|
|
@ -0,0 +1,389 @@
|
|||
# Installation & Setup Guide
|
||||
|
||||
## Complete Setup Instructions for Math Homework Helper Android App
|
||||
|
||||
### Prerequisites Checklist
|
||||
|
||||
Before you begin, ensure you have:
|
||||
|
||||
- [ ] **Android Studio** (latest version) - [Download here](https://developer.android.com/studio)
|
||||
- [ ] **Java Development Kit (JDK) 11+** - Usually included with Android Studio
|
||||
- [ ] **Android SDK** - Installed via Android Studio SDK Manager
|
||||
- [ ] **Minimum 5GB free disk space** - For SDK and emulator
|
||||
- [ ] **Git** (optional) - For version control
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Install Android Studio
|
||||
|
||||
### Windows/Mac/Linux
|
||||
|
||||
1. Download Android Studio from https://developer.android.com/studio
|
||||
2. Run the installer and follow the setup wizard
|
||||
3. Choose "Standard" installation (recommended)
|
||||
4. Accept the default settings
|
||||
5. Complete the installation
|
||||
|
||||
### Verify Installation
|
||||
|
||||
```bash
|
||||
# Check if Android Studio is installed
|
||||
which android-studio # macOS/Linux
|
||||
# or look for Android Studio in Applications/Programs
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Set Up Android SDK
|
||||
|
||||
### Using Android Studio
|
||||
|
||||
1. Open Android Studio
|
||||
2. Go to **Tools** → **SDK Manager**
|
||||
3. Under "SDK Platforms" tab:
|
||||
- ✅ Check "Android 14 (API 34)" - **Required**
|
||||
- ✅ Check "Android 5.0 (API 21)" - **Minimum**
|
||||
- ✅ Check "Android 12 (API 31)" - **Recommended**
|
||||
4. Under "SDK Tools" tab:
|
||||
- ✅ Check "Android SDK Build-Tools 34.x.x"
|
||||
- ✅ Check "Android Emulator"
|
||||
- ✅ Check "Android SDK Platform-Tools"
|
||||
5. Click "Apply" and wait for downloads to complete
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Create Android Virtual Device (Emulator)
|
||||
|
||||
### Option A: Using Android Studio GUI
|
||||
|
||||
1. Open Android Studio
|
||||
2. Go to **Tools** → **Device Manager**
|
||||
3. Click **"Create Device"**
|
||||
4. Select a device (e.g., "Pixel 4" or "Pixel 5")
|
||||
5. Click **"Next"**
|
||||
6. Select API level (API 30 or higher recommended)
|
||||
7. Click **"Next"**
|
||||
8. Review settings and click **"Finish"**
|
||||
9. Click the play button to start the emulator
|
||||
|
||||
### Option B: Using Command Line
|
||||
|
||||
```bash
|
||||
# List available devices
|
||||
emulator -list-avds
|
||||
|
||||
# Create a new AVD
|
||||
avdmanager create avd -n "Pixel4" -k "system-images;android;30;google_apis"
|
||||
|
||||
# Start the emulator
|
||||
emulator -avd Pixel4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Open the Project
|
||||
|
||||
### Method 1: Using Android Studio (Recommended)
|
||||
|
||||
1. Launch **Android Studio**
|
||||
2. Click **"Open an existing Android Studio project"**
|
||||
3. Navigate to the **MathHomeworkHelper** folder
|
||||
4. Click **"Open"**
|
||||
5. Wait for Gradle to sync (first time takes 2-5 minutes)
|
||||
6. If prompted, click **"Trust Project"**
|
||||
|
||||
### Method 2: Using Command Line
|
||||
|
||||
```bash
|
||||
# Navigate to project directory
|
||||
cd /path/to/MathHomeworkHelper
|
||||
|
||||
# Open in Android Studio
|
||||
open -a "Android Studio" . # macOS
|
||||
# or
|
||||
studio . # Linux
|
||||
# or
|
||||
start . # Windows (if Android Studio is in PATH)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 5: Configure Project
|
||||
|
||||
### Gradle Sync
|
||||
|
||||
After opening the project:
|
||||
|
||||
1. Android Studio will automatically start Gradle sync
|
||||
2. Wait for the sync to complete (check bottom status bar)
|
||||
3. If sync fails:
|
||||
- Click **File** → **Sync Now**
|
||||
- Or **File** → **Invalidate Caches** → **Invalidate and Restart**
|
||||
|
||||
### Verify Configuration
|
||||
|
||||
```bash
|
||||
# From project root directory
|
||||
./gradlew --version # Should show Gradle version
|
||||
./gradlew tasks # List available tasks
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 6: Build the Project
|
||||
|
||||
### Using Android Studio
|
||||
|
||||
1. Click **Build** → **Build Bundle(s) / APK(s)** → **Build APK(s)**
|
||||
2. Wait for build to complete
|
||||
3. You'll see a notification when build succeeds
|
||||
|
||||
### Using Command Line
|
||||
|
||||
```bash
|
||||
cd MathHomeworkHelper
|
||||
|
||||
# Build debug APK
|
||||
./gradlew assembleDebug
|
||||
|
||||
# Build release APK
|
||||
./gradlew assembleRelease
|
||||
|
||||
# Clean and rebuild
|
||||
./gradlew clean build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 7: Run the App
|
||||
|
||||
### On Emulator
|
||||
|
||||
1. Start the Android emulator (if not already running)
|
||||
2. In Android Studio, click the green **Run** button (or press **Shift+F10**)
|
||||
3. Select your emulator from the device list
|
||||
4. Click **OK**
|
||||
5. Wait for app to install and launch
|
||||
|
||||
### On Physical Device
|
||||
|
||||
1. **Enable Developer Mode:**
|
||||
- Go to **Settings** → **About Phone**
|
||||
- Tap **Build Number** 7 times
|
||||
- Go back to **Settings** → **Developer Options**
|
||||
- Enable **USB Debugging**
|
||||
|
||||
2. **Connect Device:**
|
||||
- Connect Android device via USB cable
|
||||
- Allow USB debugging when prompted on device
|
||||
- Android Studio will detect the device
|
||||
|
||||
3. **Run App:**
|
||||
- Click green **Run** button in Android Studio
|
||||
- Select your device from the list
|
||||
- Click **OK**
|
||||
|
||||
---
|
||||
|
||||
## Step 8: Verify Installation
|
||||
|
||||
### Check App is Running
|
||||
|
||||
1. You should see the Math Homework Helper interface
|
||||
2. Test the following features:
|
||||
- ✅ Difficulty slider works
|
||||
- ✅ Math problems display
|
||||
- ✅ Answer input works
|
||||
- ✅ Check Answer button functions
|
||||
- ✅ Language selector works
|
||||
- ✅ Back button navigates correctly
|
||||
|
||||
### Common Issues
|
||||
|
||||
| Issue | Solution |
|
||||
|-------|----------|
|
||||
| Gradle sync fails | File → Invalidate Caches → Invalidate and Restart |
|
||||
| Emulator won't start | Check virtualization enabled in BIOS; try different API level |
|
||||
| App crashes on launch | Check Logcat (View → Tool Windows → Logcat) for errors |
|
||||
| WebView shows blank | Verify assets in app/src/main/assets/ |
|
||||
| JavaScript not working | Check MainActivity.java has setJavaScriptEnabled(true) |
|
||||
|
||||
---
|
||||
|
||||
## Advanced Configuration
|
||||
|
||||
### Change Minimum SDK Version
|
||||
|
||||
Edit `app/build.gradle`:
|
||||
```gradle
|
||||
defaultConfig {
|
||||
minSdk 21 // Change this value
|
||||
}
|
||||
```
|
||||
|
||||
### Change Target SDK Version
|
||||
|
||||
Edit `app/build.gradle`:
|
||||
```gradle
|
||||
android {
|
||||
targetSdk 34 // Change this value
|
||||
}
|
||||
```
|
||||
|
||||
### Enable ProGuard/R8 for Release
|
||||
|
||||
Edit `app/build.gradle`:
|
||||
```gradle
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled true // Enable code shrinking
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Building for Distribution
|
||||
|
||||
### Create Signed Release APK
|
||||
|
||||
1. In Android Studio: **Build** → **Generate Signed Bundle / APK**
|
||||
2. Select **APK**
|
||||
3. Click **Next**
|
||||
4. **Create new keystore** (or select existing):
|
||||
- Key store path: Choose location
|
||||
- Password: Create strong password
|
||||
- Key alias: e.g., "release"
|
||||
- Key password: Same as keystore or different
|
||||
- Validity: 25+ years recommended
|
||||
5. Click **Next**
|
||||
6. Select **release** build type
|
||||
7. Click **Finish**
|
||||
8. APK will be generated in `app/build/outputs/apk/release/`
|
||||
|
||||
### Upload to Google Play Store
|
||||
|
||||
1. Create Google Play Developer account ($25 one-time fee)
|
||||
2. Create new app in Play Console
|
||||
3. Fill in app details (description, screenshots, etc.)
|
||||
4. Upload signed APK
|
||||
5. Set pricing and distribution
|
||||
6. Submit for review
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Gradle Issues
|
||||
|
||||
```bash
|
||||
# Clear Gradle cache
|
||||
./gradlew clean
|
||||
|
||||
# Rebuild with verbose output
|
||||
./gradlew build --info
|
||||
|
||||
# Update Gradle wrapper
|
||||
./gradlew wrapper --gradle-version=latest
|
||||
```
|
||||
|
||||
### Emulator Issues
|
||||
|
||||
```bash
|
||||
# List running emulators
|
||||
emulator -list-avds
|
||||
|
||||
# Kill all emulator processes
|
||||
pkill -f emulator
|
||||
|
||||
# Start emulator with more RAM
|
||||
emulator -avd Pixel4 -memory 2048
|
||||
```
|
||||
|
||||
### Build Issues
|
||||
|
||||
```bash
|
||||
# Check Java version
|
||||
java -version
|
||||
|
||||
# Check Android SDK
|
||||
$ANDROID_HOME/tools/bin/sdkmanager --list
|
||||
|
||||
# Invalidate Android Studio cache
|
||||
rm -rf ~/.android/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Environment Variables (Optional)
|
||||
|
||||
### Set ANDROID_HOME
|
||||
|
||||
**macOS/Linux:**
|
||||
```bash
|
||||
export ANDROID_HOME=$HOME/Library/Android/sdk # macOS
|
||||
export ANDROID_HOME=$HOME/Android/Sdk # Linux
|
||||
export PATH=$PATH:$ANDROID_HOME/tools
|
||||
export PATH=$PATH:$ANDROID_HOME/platform-tools
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
```cmd
|
||||
setx ANDROID_HOME "C:\Users\YourUsername\AppData\Local\Android\Sdk"
|
||||
setx PATH "%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. ✅ Complete installation
|
||||
2. ✅ Build and run the app
|
||||
3. ✅ Test all features
|
||||
4. ✅ Customize app (name, icon, colors)
|
||||
5. ✅ Build release APK
|
||||
6. ✅ Publish to Google Play Store (optional)
|
||||
|
||||
---
|
||||
|
||||
## Support & Resources
|
||||
|
||||
- **Android Studio Help**: https://developer.android.com/studio/intro
|
||||
- **Android Developer Docs**: https://developer.android.com/docs
|
||||
- **WebView Guide**: https://developer.android.com/guide/webapps/webview
|
||||
- **Gradle Documentation**: https://gradle.org/
|
||||
- **Stack Overflow**: Tag with `android` and `android-studio`
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference Commands
|
||||
|
||||
```bash
|
||||
# Navigate to project
|
||||
cd MathHomeworkHelper
|
||||
|
||||
# Build debug APK
|
||||
./gradlew assembleDebug
|
||||
|
||||
# Build release APK
|
||||
./gradlew assembleRelease
|
||||
|
||||
# Run tests
|
||||
./gradlew test
|
||||
|
||||
# Clean build
|
||||
./gradlew clean
|
||||
|
||||
# Check dependencies
|
||||
./gradlew dependencies
|
||||
|
||||
# Update Gradle
|
||||
./gradlew wrapper --gradle-version=latest
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Installation Complete!** 🎉
|
||||
|
||||
Your Android project is now ready to build and deploy. Start with the Quick Start Guide (QUICKSTART.md) for next steps.
|
||||
Loading…
Add table
Add a link
Reference in a new issue