Skip to content
Emerging Market Experiment
Java Kotlin Python HTML Shell CSS
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update Feb 18, 2019
app Apply top sites IG icon to travel city detail Dec 10, 2019
buildSrc bump version to v2.0.4 Dec 5, 2019
components Move Telemetry related output file to generated folder. Nov 18, 2019
docs Batch update Nov 18, 2019
fastlane run screengrab debug build (#3671) Jun 5, 2019
firebase upgrade firebase google play related libraries Dec 4, 2019
gradle/wrapper [EnvUpgrade] Upgrade gradle plugin & kotlin Jul 29, 2019
quality Apply the LiveData component on loading the bookmark list Jun 29, 2018
shavar-prod-lists Update Disconnect tracking protect list Dec 13, 2018
third_party [AndroidX] Replace AndroidX package Jul 10, 2019
tools increase apk size from 5.0MB to 5.8MB Dec 4, 2019
.android2po Add gradle tasks for l10n tasks. (#140) Mar 2, 2017
.gitignore Update .gitignore Aug 2, 2019
.gitmodules Use PermissionHandler submodule Feb 13, 2019
LICENSE Initial commit Dec 9, 2016
LICENSE.thirdparty Update third-party license / folder mapping list Oct 26, 2017 Nevercode is fixing its bug, let's test via its console Feb 9, 2018 add pre and post scripts Jan 31, 2018 Fixed missing parentheses Nov 18, 2019 skip jacocoTestReport Jul 17, 2017 Run 'checkstyle' before buddybuild build Nov 21, 2017
build.gradle Setup jetpack navigation in shopping search Nov 18, 2019
codecov.yml Turn off codecov comments May 29, 2017 [Gradle] Fix OOM in :app:lint increase gradle heap size to 4g Nov 18, 2019
gradlew Let's do this. #mozAloha Dec 9, 2016
gradlew.bat Let's do this. #mozAloha Dec 9, 2016
ktlint Migrate ktlint May 14, 2019
settings.gradle Remove legacy news repository Nov 18, 2019

Firefox Lite - Mango

Build Status

Getting Involved

We encourage you to participate in this open source project. We love Pull Requests, Bug Reports, ideas, (security) code reviews or any kind of positive contribution. Please read the Community Participation Guidelines.

Build instructions

  1. Clone the repository:
git clone
  1. Since we're using submodule, run:
git submodule init
git submodule update
  1. Open Android Studio and select File->Open and select FirefoxLite to open the project. Make sure to select the right build variant in Android Studio: focusWebkitDebug

  2. Disable Instant Run in: Settings/Build, Execution, Deployment > Instant Run. (See note #1 for details.)

[1] We currently don't support instant run. An error message similar to:

/Users/tyu/Documents/zerda/FirefoxLite/app/src/main/java/org/mozilla/focus/utils/ error: cannot find symbol
final public class FirebaseHelper extends FirebaseWrapper {
  symbol: class FirebaseWrapper

will shown when building with instant run. We have an issue for this so feel free to help with this limitation. To disable instant run , press Cmd+Shit+a on Mac or Ctrl+Shift+a on Windows and enter "instant run" under "Preference" category. If it still doesn't work, try enter ./gradlew clean" on mac or gradlew clean on Windows using command line in the project root.

Build instructions regarding Firebase

We're leveraging Firebase to offer some extra functionalities. However, Firebase is optional so normally you should be able to just develop on focusWebkitDebug.

Here are some Firebase build workarounds that you may need during normal development:

  1. If you want to run UI test without setting up firebase tokens, remove testBuildType "firebase" from build.gradle or you will most likely see error message like this when you run connectedAndroidTest directly:
No tests found. This usually means that your test classes are not in the form that your test runner expects (e.g. don't inherit from TestCase or lack @Test annotations).

If you'd like to test the fully functional Firebase build, you should first setup the environment variables following these instructions and select focusWebkitFirebase

Pull request checks

To mimimize the chance you are blocked by our build checks, you can self check these locally:

  1. (build) run ./gradlew clean checkstyle assembleFocusWebkitDebug lint findbugs assembleAndroidTest ktlint
  2. (size check) run python tools/metrics/ focus webkit
  3. (Unit test) run ./gradlew testFocusWebkitDebugUnitTest
  4. (UI test) run ./gradlew connectedAndroidTest


Run ktlint --install-git-pre-commit-hook or ktlint --install-git-pre-push-hook for hooks Run ./gradlew ktlint or ktlint to run check Run ./gradlew ktlintformat -F or ktlint -F to fix format If you want to go extreme,run ktlint -a -F. This will use Android rule and gives you a lot of complains about max length, but we are not using right now. See for details.



This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at
You can’t perform that action at this time.