- name
- deploy
- description
- Install and deploy Canvas Android apps to connected devices or emulators using adb and Gradle. Use when user mentions installing, deploying, running on device, launching app, or working with emulators.
- allowed-tools
- Bash
# Deploy Canvas Android Apps
Install and deploy Canvas Android apps to connected devices or emulators.
## Deploy Location
All deployment commands must be run from the repository root (`canvas-android/`), not the `apps/` directory.
## Check Connected Devices
Before deploying, always check for connected devices or emulators:
```bash
adb devices -l
```
If no devices are connected, start an emulator first.
## Install to Device
Install an app to a connected device or emulator:
```bash
# Install Student app
./gradle/gradlew -p apps :student:installDevDebug
# Install Teacher app
./gradle/gradlew -p apps :teacher:installDevDebug
# Install Parent app
./gradle/gradlew -p apps :parent:installDevDebug
```
## Launch App
After installation, launch the app using monkey:
```bash
# Launch Student app
adb shell monkey -p com.instructure.candroid -c android.intent.category.LAUNCHER 1
# Launch Teacher app
adb shell monkey -p com.instructure.teacher -c android.intent.category.LAUNCHER 1
# Launch Parent app
adb shell monkey -p com.instructure.parentapp -c android.intent.category.LAUNCHER 1
```
## Package Names
- **Student**: `com.instructure.candroid`
- **Teacher**: `com.instructure.teacher`
- **Parent**: `com.instructure.parentapp`
## Target Specific Device
If multiple devices are connected, target a specific device:
```bash
# Install to specific device using Gradle
./gradle/gradlew -p apps :student:installDevDebug -Pandroid.injected.device.serial=emulator-5554
# Or use adb with -s flag
adb -s emulator-5554 shell monkey -p com.instructure.candroid -c android.intent.category.LAUNCHER 1
```
## Common ADB Commands
### View Logs
```bash
# View logs for Student app
adb logcat | grep "candroid"
# View logs for Teacher app
adb logcat | grep "teacher"
```
### Clear App Data
```bash
# Clear Student app data
adb shell pm clear com.instructure.candroid
# Clear Teacher app data
adb shell pm clear com.instructure.teacher
# Clear Parent app data
adb shell pm clear com.instructure.parentapp
```
### Uninstall Apps
```bash
# Uninstall Student app
adb uninstall com.instructure.candroid
# Uninstall Teacher app
adb uninstall com.instructure.teacher
# Uninstall Parent app
adb uninstall com.instructure.parentapp
```
## Examples
Install and launch Student app:
```bash
./gradle/gradlew -p apps :student:installDevDebug
adb shell monkey -p com.instructure.candroid -c android.intent.category.LAUNCHER 1
```
Reinstall Teacher app (clear data first):
```bash
adb shell pm clear com.instructure.teacher
./gradle/gradlew -p apps :teacher:installDevDebug
adb shell monkey -p com.instructure.teacher -c android.intent.category.LAUNCHER 1
```
Ver en GitHub