Need help with woocommerce-android?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

121 Stars 75 Forks GNU General Public License v2.0 14.0K Commits 194 Opened issues


WooCommerce Android app

Services available


Need anything else?

Contributors list


WooCommerce for Android

Jetpack-powered WooCommerce Android app codenamed Dervish. If you're just looking to install WooCommerce for Android, you can find it on Google Play. If you're a developer wanting to contribute, read on.


Setup Instructions

  1. Make sure you've installed Android Studio.
  2. Clone this repository in the folder of your preference, and then enter that folder:

    $ git clone
    $ cd woocommerce-android
  3. Generate the developer oauth2 tokens. These values get copied into the main
    file in the next step. See the OAuth2 Authentication section for details.
  4. Generate the
    file for this app:
    $ cp ./ ./
  5. Generate the
    file for the Login Library dependency:
    $ cp ./libs/login/ ./libs/login/
  6. Open and modify the newly created
    files. See the Configuration Files section for a breakdown of the properties.
  7. In Android Studio, open the project from the local repository. This will auto-generate
    with the SDK location.
  8. Go to Tools → AVD Manager and create an emulated device.

  9. Run.

Build & Test

To build, install, and test the project from the command line:

$ ./gradlew assembleVanillaDebug                          # assemble the debug .apk
$ ./gradlew installVanillaDebug                           # install the debug apk if you have an
                                                          # emulator or a device connected
$ ./gradlew :WooCommerce:testVanillaDebugUnitTest         # assemble, install and run unit tests
$ ./gradlew :WooCommerce:connectedVanillaDebugAndroidTest # assemble, install and run Android tests

Project Overview

OAuth2 Authentication

The WooCommerce for Android app connects to stores via APIs so if a WooCommerce store is not hosted on, it will require the Jetpack plugin to setup a common interface for communicating with a self-hosted store. In order to use these APIs, you will need a client ID and a client secret key. These details will be used to authenticate your application and verify that the API calls being made are valid. You can create an application or view details for your existing applications with our applications manager.

When creating your application, you should select "Native client" for the application type. The "Website URL", "Redirect URLs", and "Javascript Origins" fields are required but not used for the mobile apps. Just use "https://localhost".

Once you've created your application in the applications manager, you'll need to edit the

file and change the
fields. Then you can compile and run the app on a device or an emulator and try to login with a account. Note that authenticating to via Google is not supported in development builds of the app, only in the official release.

Note that credentials created with our applications manager allow login only and not signup. New accounts must be created using the official app or on the web. Login is restricted to the account with which the credentials were created. In other words, if the credentials were created with [email protected], you will only be able to login with [email protected] Using another account like [email protected] will cause the

Client cannot use "password" grant_type

For security reasons, some account-related actions aren't supported for development builds when using a account with 2-factor authentication enabled.

Read more about OAuth2 and the REST endpoint.

Configuration Files


| Property | Description | |:---------------------------|:------------| |wc.oauth.appid | Required to build the app. See OAuth2 Authentication| | wc.oauth.appsecret | Required to build the app. See OAuth2 Authentication | | wc.zendeskappid | Used for Zendesk integration. Can be ignored.| | wc.zendesk.domain | Used for Zendesk integration. Can be ignored.| | wc.zendesk.oauthclientid | Used for Zendesk integration. Can be ignored.| | wc.resetdbon_downgrade | Debug builds: If

will drop all tables and recreate the db if a database downgrade is detected. | | wc.sentry.dsn | Used for Sentry integration. Can be ignored.|

Login library

| Property | Description | |:---------------------------|:------------| | wp.debug.wpcomloginemail |Optional: used to autofill email during login on debug build only| | wp.debug.wpcomloginusername|Optional: used to autofill username during login on debug build only| |wp.debug.wpcomloginpassword|Optional: used to autofill password during login on debug build only| |wp.debug.wpcomwebsiteurl|Optional: used to autofill store url during login on debug build only|

Setting up Checkstyle

The woocommerce-android project uses Checkstyle. You can run checkstyle using

./gradlew checkstyle
. You can also view errors and warnings in realtime with the Checkstyle plugin. When importing the project into Android Studio, Checkstyle should be set up automatically. If it is not, follow the steps below.

You can install the CheckStyle-IDEA plugin in Android Studio here:

Android Studio > Preferences... > Plugins > CheckStyle-IDEA

Once installed, you can configure the plugin here:

Android Studio > Preferences... > Other Settings > Checkstyle

From there, add and enable the configuration file for woocommerce-android, located at config/checkstyle.xml.

Using ktlint

The woocommerce-android project uses ktlint for Kotlin linting. You can run ktlint using

./gradlew ktlint
, and you can also run
./gradlew ktlintFormat
for auto-formatting. There is no IDEA plugin (like Checkstyle's) at this time.

Google Configuration

Google Sign-In is only available for accounts through the official app. Contributors can build and run the app without issue, but Google Sign-In will always fail. Google Sign-In requires configuration files which contain client and server information that can't be shared publicly. More documentation and guides can be found on the Google Identity Platform website.


If you happen to find a security vulnerability, we would appreciate you letting us know at and allowing us to respond before disclosing the issue publicly.


Help & Support

Usage docs can be found here:

General usage and development questions:


WooCommerce for Android is an Open Source project covered by the GNU General Public License version 2. Note: code in the

directory comes from external libraries, which might be covered by a different license compatible with the GPLv2.

Made with 💜 by WooCommerce.
We're hiring! Come work with us!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.