Go to file
Honza 31ac7b8c6d Update dependency lock files 2025-03-13 09:39:58 +01:00
.github Gradle Wrapper Validation v4 2025-03-13 09:39:58 +01:00
.idea
app Fix build variants resources (#1807) 2025-03-05 13:54:41 +01:00
build-conventions-secant Update dependency lock files 2025-03-13 09:39:58 +01:00
build-info-lib Update dependency locks 2025-03-13 09:39:58 +01:00
buildSrc Update dependency locks 2025-03-13 09:39:58 +01:00
configuration-api-lib Update dependency lock files 2025-03-13 09:39:58 +01:00
configuration-impl-android-lib
crash-android-lib F-Droid and GitHub Release support (#1787) 2025-02-20 20:42:02 +01:00
crash-lib Update dependency lock files 2025-03-13 09:39:58 +01:00
docs [#1806] Release Android Zashi v1.4 (876) 2025-03-04 19:47:21 +01:00
fastlane/metadata/android [#1806] Release Android Zashi v1.4 (876) 2025-03-04 19:47:21 +01:00
gradle/wrapper [#1813] Gradle 8.13 2025-03-13 09:39:58 +01:00
preference-api-lib Update dependency lock files 2025-03-13 09:39:58 +01:00
preference-impl-android-lib Metadata encryption keys (#1781) 2025-02-28 15:20:21 +01:00
sdk-ext-lib Feature: Keystone integration (#1692) (#1707) 2024-12-17 18:40:36 +01:00
spackle-android-lib
spackle-lib Update dependency lock files 2025-03-13 09:39:58 +01:00
test-lib
tools [#1618] Settings redesign (#1658) 2024-11-14 14:12:59 +01:00
ui-benchmark-test F-Droid and GitHub Release support (#1787) 2025-02-20 20:42:02 +01:00
ui-design-lib Kotlin 2.1.10 2025-03-13 09:39:58 +01:00
ui-integration-test Kotlin 2.1.10 2025-03-13 09:39:58 +01:00
ui-lib Koin 4.0.2 2025-03-13 09:39:58 +01:00
ui-screenshot-test Kotlin 2.1.10 2025-03-13 09:39:58 +01:00
.gitignore AndroidX dependencies 2025-03-13 09:39:58 +01:00
CHANGELOG.md Fix build variants resources (#1807) 2025-03-05 13:54:41 +01:00
LICENSE F-Droid and GitHub Release support (#1787) 2025-02-20 20:42:02 +01:00
README.md Regenerate dependency locks 2025-03-13 09:39:58 +01:00
build.gradle.kts F-Droid and GitHub Release support (#1787) 2025-02-20 20:42:02 +01:00
buildscript-gradle.lockfile Update dependency lock files 2025-03-13 09:39:58 +01:00
gradle.properties Tink 1.16.0 2025-03-13 09:39:58 +01:00
gradlew [#1813] Gradle 8.13 2025-03-13 09:39:58 +01:00
gradlew.bat [#1813] Gradle 8.13 2025-03-13 09:39:58 +01:00
settings.gradle.kts Kotlin 2.1.10 2025-03-13 09:39:58 +01:00

README.md

Zashi Android Wallet

This is the official home of the Zashi Zcash wallet for Android, a no-frills Zcash mobile wallet leveraging the Zcash Android SDK.

Download

Get it on F-Droid Get it on Google Play

Or download the latest APK from the Releases Section.

Zashi Discord

Join the Zashi community on ECC Discord server, report bugs, share ideas, request new features, and help shape Zashi's journey!

https://discord.gg/jQPU7aXe7A

Reporting an issue

If you'd like to report a technical issue or feature request for the Android Wallet, please file a GitHub issue here.

For feature requests and issues related to the Zashi user interface that are not Android-specific, please file a GitHub issue here.

If you wish to report a security issue, please follow our Responsible Disclosure guidelines. See the Wallet App Threat Model for more information about the security and privacy limitations of the wallet.

General Zcash questions and/or support requests and are best directed to either:

Contributing

Contributions are very much welcomed! Please read our Contributing Guidelines to learn about our process.

Getting Started

If you'd like to compile this application from source, please see our Setup Documentation to get started.

Forking

If you plan to fork the project to create a new app of your own, please make the following changes. (If you're making a GitHub fork to contribute back to the project, these steps are not necessary.)

  1. Change the app name under gradle.properties
    1. See ZCASH_RELEASE_APP_NAME
  2. Change the package name under app/build.gradle.kts
    1. See ZCASH_RELEASE_PACKAGE_NAME
  3. Change the support email address under strings.xml
    1. See support_email_address
  4. Remove any copyrighted ZCash or Electric Coin Company icons, logos, or assets
    1. ui-lib/src/main/res/common/ - All of the the ic_launcher assets
  5. Optional
    1. Configure secrets and variables for Continuous Integration
    2. Configure Firebase API keys and place them under app/src/debug/google-services.json and app/src/release/google-services.json

Known Issues

  1. During builds, a warning will be printed that says "Unable to detect AGP versions for included builds. All projects in the build should use the same AGP version." This can be safely ignored. The version under build-conventions is the same as the version used elsewhere in the application.
  2. When the code coverage Gradle property IS_ANDROID_INSTRUMENTATION_TEST_COVERAGE_ENABLED is enabled, the debug app APK cannot be run. The coverage flag should therefore only be set when running automated tests.
  3. Test coverage for Compose code will be low, due to known limitations in the interaction between Compose and Jacoco.
  4. Adding the espresso-contrib dependency will cause builds to fail, due to conflicting classes. This is a known issue with the Zcash Android SDK.
  5. During app first launch, the following exception starting with AndroidKeysetManager: keyset not found, will generate a new one is printed twice. This exception is not an error, and the code is not being invoked twice.