Bitwarden mobile app for Android.
Find a file
2024-10-29 22:20:21 -04:00
.checkmarx Checkmarx configuration (#1408) 2024-06-20 17:08:07 +01:00
.github [PM-14224] Automate Play Store prod variant publishing (#4183) 2024-10-29 18:33:21 +00:00
app Merge branch 'main' into main 2024-10-29 22:20:21 -04:00
authenticatorbridge BITAU-182 BITAU-107 Don't show authetnicator sync toggle below API 31 (#4156) 2024-10-25 21:27:59 +00:00
docs Remove last references to MaterialTheme (#4038) 2024-10-07 17:58:00 +00:00
fastlane [PM-14224] Automate Play Store prod variant publishing (#4183) 2024-10-29 18:33:21 +00:00
gradle [PM-10405] Add SSH key cipher type (#4158) 2024-10-29 21:40:20 +00:00
keystores Remove unnecessary extra testing keystore (#1232) 2024-06-20 17:08:07 +01:00
scripts Update public suffix list (#3790) 2024-08-20 14:18:00 -04:00
.editorconfig Initial commit 2023-07-14 11:56:49 -05:00
.gitattributes Initial commit 2023-07-14 11:56:49 -05:00
.gitignore Update to Kotlin 2.0.0 (#1397) 2024-06-20 17:08:07 +01:00
.ruby-version Declare ruby version globally (#1333) 2024-06-20 17:08:07 +01:00
build.gradle.kts BITAU-96 Setup Bridge SDK (#3857) 2024-09-05 12:22:49 -05:00
CONTRIBUTING.md Initial commit 2023-07-14 11:56:49 -05:00
crowdin.yml [PM-8015] Update Crowdin destination path (#3365) 2024-06-27 09:08:35 -04:00
detekt-config.yml Update detekt config and update suppressions (#3396) 2024-07-02 17:19:56 -05:00
Gemfile Replace Danger / Shroud with Codecov (#3363) 2024-06-26 15:45:23 -04:00
Gemfile.lock [deps]: Lock file maintenance (#4174) 2024-10-28 14:19:02 +00:00
gradle.properties Remove a suppression from gradle properties that is no longer needed (#3687) 2024-08-06 11:38:06 -05:00
gradlew Initial project setup (BIT-61) (#7) 2024-06-20 17:08:07 +01:00
gradlew.bat Initial project setup (BIT-61) (#7) 2024-06-20 17:08:07 +01:00
LICENSE.txt Repo tuneup (#1400) 2024-06-20 17:08:07 +01:00
README.md This PR adds Timber to the app (#4116) 2024-10-22 17:37:03 +00:00
SECURITY.md Initial commit 2023-07-14 11:56:49 -05:00
settings.gradle.kts [PM-7587] Support conditionally loading local sdk (#3957) 2024-09-26 10:21:22 +02:00

Bitwarden Android (BETA)

Tip

This repo has the new native Android app, currently in Beta. Looking for the legacy .NET MAUI apps? Head on over to bitwarden/mobile

Contents

Compatibility

  • Minimum SDK: 29
  • Target SDK: 34
  • Device Types Supported: Phone and Tablet
  • Orientations Supported: Portrait and Landscape

Setup

  1. Clone the repository:

    $ git clone https://github.com/bitwarden/android
    
  2. Create a user.properties file in the root directory of the project and add the following properties:

  3. Setup the code style formatter:

    All code must follow the guidelines described in the Code Style Guidelines document. To aid in adhering to these rules, all contributors should apply docs/bitwarden-style.xml as their code style scheme. In IntelliJ / Android Studio:

    • Navigate to Preferences > Editor > Code Style.
    • Hit the Manage button next to Scheme.
    • Select Import.
    • Find the bitwarden-style.xml file in the project's docs/ directory.
    • Import "from" BitwardenStyle "to" BitwardenStyle.
    • Hit Apply and OK to save the changes and exit Preferences.

    Note that in some cases you may need to restart Android Studio for the changes to take effect.

    All code should be formatted before submitting a pull request. This can be done manually but it can also be helpful to create a macro with a custom keyboard binding to auto-format when saving. In Android Studio on OS X:

    • Select Edit > Macros > Start Macro Recording
    • Select Code > Optimize Imports
    • Select Code > Reformat Code
    • Select File > Save All
    • Select Edit > Macros > Stop Macro Recording

    This can then be mapped to a set of keys by navigating to Android Studio > Preferences and editing the macro under Keymap (ex : shift + command + s).

    Please avoid mixing formatting and logical changes in the same commit/PR. When possible, fix any large formatting issues in a separate PR before opening one to make logical changes to the same code. This helps others focus on the meaningful code changes when reviewing the code.

Dependencies

Application Dependencies

The following is a list of all third-party dependencies included as part of the application beyond the standard Android SDK.

Development Environment Dependencies

The following is a list of additional third-party dependencies used as part of the local development environment. This includes test-related artifacts as well as tools related to code quality and linting. These are not present in the final packaged application.

CI/CD Dependencies

The following is a list of additional third-party dependencies used as part of the CI/CD workflows. These are not present in the final packaged application.