These instructions will help you get started with developing a library for Processing Android using Gradle and Android Studio. The steps walk you through three main tasks:
- Configuring the build properties so that your library can be built and packaged by Gradle.
- Finding the library files produced by Gradle for use in Processing and redistribution.
- Setting up the debug project in Android Studio, which allows you to develop and debug your library using Android Studio as the programming environment.
NOTE: This template should be used as the starting point for a new library that uses Android-specific functions in the Android mode, or API from the Android platform. If your library only uses the regular Processing API and does not depend on any desktop-specific functionality or packages, you could use the regular Processing library template.
The following components must be installed in order to go through the Usage Instructions.
- Gradle Build Tool (use version 7.x, this library template is not compatible with Gradle 8+ yet).
- Version 17 of LTS release of the Adoptium OpenJDK (21-LTS or newer not yet supported).
- Git client.
- Android Studio version 3.1 or later.
- Processing 4.2 or later.
- Android mode for Processing, installed into the PDE using the Contributions Manager.
- Download and install Gradle following these instructions.
- Fork the template repository to use as a starting point.
- Navigate to https://github.com/processing/processing-android-library-template in your browser.
- Click the "Fork" button in the top-right of the page.
- Once your fork is ready, open the new repository's "Settings" by clicking the link in the menu bar on the right.
- Change the repository name to the name of your library and save your changes.
- NOTE: GitHub only allows you to fork a project once. If you need to create multiple forks, you can follow these instructions.
- Checkout your fork of the template repository using your preferred git client.
- You can test if the template project can be built with Gradle by open a command line terminal, changing the directory to the
processing
subdirectory inside the repository location, and callinggradle dist
. This should generarate a distribution folder with several files in it, includingYourLibrary.zip
. If this is the case, then you are ready to start working with the template to create your own library. - Edit the
processing/resources/build.properties
file to ensure the following fields are set correctly.
- sketchbook.location is a quasi-optional field that should be set to the path of your Processing sketchbook folder. This field tells the Gradle build to deploy the library to the sketchbook/libraries path defined here (in addition to building a .zip distribution).
- android_sdk.location should contain the path to the Android SDK in your computer. If you have used the Android mode before and let it to automatically download the SDK for you, then it will be inside the sketchbook/android/sdk folder, but here you can set any other location.
- All of the fields in sections (4) and on are for metadata about your library.
- Also, make sure to edit the library medatata in
processing/resources/library.properties
file.
After having compiled and built your project successfully, you should be able to find your library in Processing's sketchbook folder, examples will be listed in Processing's sketchbook menu. The Gradle build process also generates a zip package of your library for distribution.
- Open Android Studio and select the "Import project" menu item in the welcome screen.
- Navigate to the location where you checked out the repository in your computer, and select the root folder (not the
processing
subfolder). - Android Studio should be able to import the project automatically, which includes the library itself and a minimal test app.
Important note: The source code of the library is located inside library/src
to follow standard Gradle's project structure. If you make changes there during the debugging using Android Studio, and then use the compilation and packaging instructions above, the resulting library package will include your latest changes in the source code made in Android Studio.