AgentSkillsCN

deploy

使用 adb 和 Gradle 将 Canvas Android 应用安装并部署到连接的设备或模拟器上。当用户提到安装、部署、在设备上运行、启动应用或使用模拟器时,请使用此方法。

SKILL.md
--- frontmatter
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