browser icon indicating copy to clipboard operation
browser copied to clipboard

G - Android Web Browser 🌐 - Privacy internet. Written in Kotlin available on the PlayStore

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

Description

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

  • ./app here

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

  • ./config here

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.

  • ./tv here

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

  • ./wear here

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/README.md
    • Run ./config/play-store/publish.sh
  • Take screenshots to publish on the store
    • Read ./config/screenshot/README.md
    • ./config/screenshot/screenshot.sh

Check

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

Dev rules

Typo

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: :fire: Fix a bug.
    • :wrench: :wrench: Feature dev that is not ui.
    • :art: :art: UI commit, readme, all that is visible.
    • :recycle: :recycle: Clean, reformat, refactor, ortho, typo...
    • :seedling: :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 :)