Why Use This This skill provides specialized capabilities for instructure's codebase.
Use Cases Developing new features in the instructure repository Refactoring existing code to follow instructure standards Understanding and working with instructure's codebase structure
Install Guide 2 steps 1 2 Install inside Ananke
Click Install Skill, paste the link below, then press Install.
https://github.com/instructure/canvas-android/tree/master/apps/.claude/skills/deploy Skill Snapshot Auto scan of skill assets. Informational only.
Valid SKILL.md Checks against SKILL.md specification
Source & Community
Updated At Jan 16, 2026, 08:28 PM
Skill Stats
SKILL.md 124 Lines
Total Files 1
Total Size 0 B
License NOASSERTION
---
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
```