Getting started with fastlane for Android
Install fastlane using
[sudo] gem install fastlane -NV
or alternatively using
brew cask install fastlane
Setting up fastlane
Navigate your terminal to your project's directory and run
You'll be asked to confirm that you're ready to begin, and then for a few pieces of information. To get started quickly:
- Provide the package name for your application when asked (e.g. io.fabric.yourapp)
- Press enter when asked for the path to your json secret file
- Answer 'n' when asked if you plan on uploading info to Google Play via fastlane (we can set this up later)
That's it! fastlane will automatically generate a configuration for you based on the information provided.
You can see the newly created
./fastlane directory, with the following files:
Appfilewhich defines configuration information that is global to your app
Fastfilewhich defines the "lanes" that drive the behavior of fastlane
The most interesting file is
fastlane/Fastfile, which contains all the information that is needed to distribute your app.
Setting up supply
supply is a fastlane tool that uploads app metadata, screenshots and binaries to Google Play. You can also select tracks for builds and promote builds to production!
Setting it up requires downloading a credentials file from your Google Developers Service Account.
Collect your Google credentials
- Open the Google Play Console
- Select Settings tab, followed by the API access tab
- Click the Create New Project button
- Click the Create Service Account button and follow the Google Developers Console link in the dialog
- Click the Create Service account button at the top of the developers console screen
- Provide a name for the service account
- Click Select a role and choose Service Accounts > Service Account User
- Check the Furnish a new private key checkbox
- Select JSON as the Key type
- Click Create to close the dialog
- Make a note of the file name of the JSON file downloaded to your computer
- Back on the Google Play developer console, click Done to close the dialog
- Click on Grant Access for the newly added service account
- Choose Release Manager from the Role dropdown
- Click Add user to close the dialog
fastlane/Appfile and change the
json_key_file line to have the path to your credentials file:
Fetch your app metadata
If your app has been created on the Google Play developer console, you're ready to start using supply to manage it! Run:
fastlane supply init
and all of your current Google Play store metadata will be downloaded to
Due to limitations of the Google Play API, supply can't download existing screenshots or videos.
fastlane is ready to generate screenshots and automatically distribute new builds! To learn more, check out:
Set up environment variables
fastlane requires some environment variables set up to run correctly. In particular, having your locale not set to a UTF-8 locale will cause issues with building and uploading your build. In your shell profile add the following lines:
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8
You can find your shell profile at
~/.zshrc depending on your system.
Use a Gemfile
It is recommended that you use a
Gemfile to define your dependency on fastlane. This will clearly define the used fastlane version, and its dependencies, and will also speed up using fastlane.
- Create a
./Gemfilein the root directory of your project with the content
source "https://rubygems.org" gem "fastlane"
[sudo] bundle updateand add both the
./Gemfile.lockto version control
- Every time you run fastlane, use
bundle exec fastlane [lane]
- On your CI, add
[sudo] bundle installas your first build step
- To update fastlane, just run
[sudo] bundle update fastlane