Skip to main content

Android - Development Workflow

This section contains comprehensive guides for developing and releasing Q2 Mobile SDK modules on Android. These guides walk you through the entire journey from initial development to production release.

Getting Started​

If you're new to Q2 Mobile SDK development, start here:

  1. Local Development - Learn the day-to-day development workflow
  2. Development Workflow - Understand the complete end-to-end process
  3. Submitting Support Tickets - Learn how to submit merge requests and tickets

Workflow Guides​

Local Development​

A detailed guide for day-to-day module development:

  • Creating feature branches
  • Developing and testing with DevApp
  • Testing with ProGuard/R8 obfuscation
  • Preparing for merge requests

Use this guide when: You're actively writing code and need to understand best practices for local development and testing.

Code Standards​

The standards your module code must meet for Google Play's app quality requirements:

  • DEX code optimization and the merge request DEX check
  • Running the DEX check locally on your module's keep rules
  • Bitmap and memory management standards
  • Checking memory use and running lint locally

Use this guide when: You're writing module code, adding keep rules or dependencies, or preparing a merge request.

Development Workflow​

The end-to-end process for both Android and iOS, from setup to production:

  • Step-by-step process from development to production
  • What partners/FIs do vs. what Q2 does
  • Android-specific details for each step

Use this guide when: You want to understand the big picture of how modules move from development to production.

Submitting Support Tickets​

Detailed instructions for submitting tickets through q2developer.com:

  • When and how to submit tickets
  • Ticket templates and examples
  • Required information for different ticket types
  • Best practices and FAQs

Use this guide when: You're ready to submit a merge request or need to contact Q2 support.

Consumer ProGuard Rules​

Essential guide for creating and testing ProGuard/R8 consumer rules:

  • Why consumer rules are critical for production builds
  • How to create specific keep rules
  • Testing with minify enabled
  • Common issues and solutions
  • Rules that will be rejected during code review

Use this guide when: Preparing your module for production (required for all modules).

Third-Party Libraries​

Guide for submitting private third-party libraries to Q2 for hosting:

  • When you need to submit libraries
  • How to prepare library artifacts (.aar and .pom files)
  • POM file format requirements
  • Submission process

Use this guide when: Your module uses private or non-standard Maven libraries.

Large Version Migrations​

A faster path when your module is several DevApp versions behind:

  • Replace your local DevApp project with a fresh copy at the target version
  • Drop your existing module back into the fresh project
  • Migrate only your module's build.gradle by hand
  • Quick-reference command sequence plus a step-by-step walkthrough

Use this guide when: You're jumping 3 or more minor versions and don't want to walk every per-release migration note one at a time.

Publishing​

Setup and Configuration​

Module Development​

Debugging​

Quick Reference​

The Complete Flow​

  1. Develop locally → Create branch, write code, test with DevApp
  2. Test obfuscation → Enable minify, test with R8/ProGuard
  3. Submit for review → Create MR, submit support ticket
  4. Q2 reviews → Security and safety review
  5. Test build → Q2 creates test build, you validate
  6. Deploy to production → Submit deployment request, Q2 releases

Key Reminders​

  • Always branch from master
  • Test with minify enabled before submitting
  • Meet the Code Standards for DEX optimization and memory
  • Include module data configuration changes in tickets
  • settings.json from DevApp is not automatically copied to test/production builds
  • Q2 reviews for security and safety, not code quality

Ready to start developing? Begin with Local Development.