Skip to content
G - Android Web Browser 🌐 - Privacy internet. Written in Kotlin available on the PlayStore
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Build Status Version Kotlin PlayStore URL

G - Browser - Android web browser

Android web browser app focused on easy search and clear history

Light web browser app. Browse the web and stay incognito.

  • Light / Dark theme
  • Floating window
  • Clear all cache / history
  • Ad blocker
  • Multiple search engines supported as Google, DuckDuckGo, Yahoo, Qwant...
Get it on Google Play


G Browser is an app focused on quick search. This application is open source on github !!! Do not hesitate to submit merge request, open issue...

Developed in kotlin with <3 by Team Mercan. Try the app via the Play Store.

Enjoy G Browser =)

Project structure

Module of the Android app for mobile and tablet devices. Apk generated is produced on the PlayStore or downloadable in the release section.

Contains all the shell scripts, extra gradle files, authentication, signature...

  • ./config/play-store here

Automatic publish Android app bundle on the play store.

  • ./config/quality here

Code quality gradle tools.

  • ./config/screenshot here

Automatic tool to take ./app screenshot for multiple locales and themes.

  • ./config/signing here

App signing data.

  • ./gradle/wrapper here

Default location of gradle wrapper. All Android Studio and gradle project have this kind of folder.

Module of the Android TV devices. This module development is not ready to be used.

Module of the Android Wear app for Wear OS. This module development is not ready to be used.

Build or Publish

  • Build Debug
    • Run ./gradlew app:assembleDebug
  • Build release candidate (RC)
    • Add the jks in the ./config/signing/browser.jks
    • Complete ./config/signing/signing.gradle
    • Run ./gradlew app:assembleRelease
  • Build release
    • Add the jks in the ./config/signing/browser.jks
    • Complete ./config/signing/signing.gradle
    • Run ./gradlew app:bundleRelease
  • Build and publish alpha release on the Play Store
    • Add the jks in the ./config/signing/browser.jks
    • Complete ./config/signing/signing.gradle
    • Read ./config/play-store/
    • Run ./config/play-store/
  • Take screenshots to publish on the store
    • Read ./config/screenshot/
    • ./config/screenshot/


  • Check dependencies updates
    • ./gradlew dependencyUpdates -Drevision=release -DoutputFormatter=json : Check dependencies:
  • Check unit tests
    • ./gradlew :app:assembleDebug :app:testUniversalDebugUnitTest : Unit tests

Dev rules


Java typo, fields without m prefix.

Commit message

In order to have a clean commit list and to easily find feature of a commit (goal, fix bug...), the commit message should respect some rules. Commit messages are important. They are the only way to give context to the changes that are made in a commit.

  • Mandatory rules: [Player] Improve the player X control where the [ and ] surround the feature.
  • Optional rules emoji: [Player] :fire: Fix the player X control where emoji could be the one you want or one of this one:
    • πŸ”₯ :fire: Fix a bug.
    • πŸ”§ :wrench: Feature dev that is not ui.
    • 🎨 :art: UI commit, readme, all that is visible.
    • ♻️ :recycle: Clean, reformat, refactor, ortho, typo...
    • 🌱 :seedling: New feature, first commit.
  • Optional: Write the Why, the Reason of your commit in the message description.

Do our future selves a favour and start writing better commit messages now :)

You can’t perform that action at this time.