# Build

> 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.

- Skill: `instructure/build` (Agent Skill)
- Install (CLI): `npx skillmds@latest add instructure/build`
- Raw SKILL.md: https://api.skillmd.com/api/skills/instructure/build/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: instructure (https://skillmd.com/u/instructure)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/instructure/build

---


# Build Canvas Android Apps

Build the Canvas Android apps (Student, Teacher, Parent) using Gradle.

## Build Location

All build commands must be run from the repository root (`canvas-android/`), not the `apps/` directory.

## Build Commands

### Build Individual Apps

Build a specific app in the dev debug variant:

```bash
# Build Student app
./gradle/gradlew -p apps :student:assembleDevDebug

# Build Teacher app
./gradle/gradlew -p apps :teacher:assembleDevDebug

# Build Parent app
./gradle/gradlew -p apps :parent:assembleDevDebug
```

### Build All Apps

Build all three apps at once:

```bash
./gradle/gradlew -p apps assembleAllApps
```

### Clean Build

Remove build artifacts before building:

```bash
./gradle/gradlew -p apps clean
```

## Build Variants

- **Flavors**: `dev`, `qa`, `prod`
- **Types**: `debug`, `debugMinify`, `release`
- **Common variants**:
  - `devDebug` - for development
  - `qaDebug` - for testing

## Examples

Build Teacher app for QA testing:
```bash
./gradle/gradlew -p apps :teacher:assembleQaDebug
```

Clean and rebuild Student app:
```bash
./gradle/gradlew -p apps clean :student:assembleDevDebug
```
