with one click
deploy
// 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.
// 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.
Create pull requests for Canvas Android following project conventions. Use when user mentions creating PR, pull request, opening PR, or submitting changes for review. Includes PR template requirements and affects field guidelines.
Build Canvas Android apps (Student, Teacher, Parent) using Gradle. Use when user mentions building, compiling, assembling, or making the app. Provides commands for dev, qa, and prod build variants.
Run unit tests and instrumentation tests for Canvas Android apps. Use when user mentions testing, running tests, JUnit, Espresso, or checking test results. Includes commands for Student, Teacher, and Parent apps.
| 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 |
Install and deploy Canvas Android apps to connected devices or emulators.
All deployment commands must be run from the repository root (canvas-android/), not the apps/ directory.
Before deploying, always check for connected devices or emulators:
adb devices -l
If no devices are connected, start an emulator first.
Install an app to a connected device or emulator:
# 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
After installation, launch the app using monkey:
# 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
com.instructure.candroidcom.instructure.teachercom.instructure.parentappIf multiple devices are connected, target a specific device:
# 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
# View logs for Student app
adb logcat | grep "candroid"
# View logs for Teacher app
adb logcat | grep "teacher"
# 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 Student app
adb uninstall com.instructure.candroid
# Uninstall Teacher app
adb uninstall com.instructure.teacher
# Uninstall Parent app
adb uninstall com.instructure.parentapp
Install and launch Student app:
./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):
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