An open API service indexing awesome lists of open source software.

https://github.com/primalhq/primal-android-app

Primal's Android app for Nostr.
https://github.com/primalhq/primal-android-app

android decentralization nostr nostr-client

Last synced: about 2 months ago
JSON representation

Primal's Android app for Nostr.

Awesome Lists containing this project

README

          

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]





Logo

Primal


Featuring easy onboarding, fast & snappy UI, ability to explore Nostr, and create & manage custom feeds


Explore the docs »




View Demo
·
Report Bug
·
Request Feature


Table of Contents



  1. About The Project



  2. Getting Started


  3. Building




  4. Installing


  5. Contributing

  6. License

  7. Contact

  8. Acknowledgments

## About The Project


Primal Feeds Screenshot
Primal Reads Screenshot
Primal Wallet Screenshot
Primal Adv.Search Screenshot

(back to top)

### Built With

[![Kotlin][Kotlin]][Kotlin-url]

[![AndroidStudio][AndroidStudio]][AndroidStudio-url]

(back to top)

## Getting Started

### Prerequisites

This project requires the following pre-requisites:
- Java 17;
- Android SDK;
- Android Studio (Hedgehog 2023.1.1 and AGP 8.2);
- Android 8.0+ device or emulator;

## Building
### Debug
To build debug builds no extra configuration required, just execute `./gradlew assembleDebug` or run in Android Studio.

### Release
To build release builds you will need to create `config.properties` file in the project root directory.
Following properties in `config.properties` are **MANDATORY** for any release build:
```properties
localStorage.keyAlias={KeystoreAliasForEncryption}
```
If you want to build the release build with your own certificate you can use `googlePlayRelease` or `aospAltRelease`
build variant which will read the certificate details from following properties in `config.properties`:
```properties
{signingConfigName}.storeFile={PathToYourCertificate}
{signingConfigName}.storePassword={CertificatePassword}
{signingConfigName}.keyAlias={YourAlias}
{signingConfigName}.keyPassword={AliasPassword}
```
`{signingConfigName}` should be replaced with `playStore` or `alternative`.

## Installing
Attach your device to the computer or start your emulator and install debug or release build as described below.

### Debug builds
To install debug build execute `./gradlew installDebug` or run `debug` build variant in AndroidStudio.
Please note that debug builds do not use encryption when storing sensitive information and that the performance is
significantly slower compared to release builds.

### Release builds
To install release build execute `./gradlew installAospAltRelease` or `./gradlew installGooglePlayRelease`, or
run in AndroidStudio. Please note that `googlePlayRelease` and `aospAltRelease` build variants require
`config.properties` configured with mandatory properties. If no certificate properties are provided it fallbacks
to `debug` certificate.

## Development
The app is still under the development and changes are frequent. Breaking changes can and will happen in the future.

## Contributing

Read more about contributions in [CONTRIBUTING.md](CONTRIBUTING.md).

(back to top)

## License

Distributed under the MIT License. See [LICENSE](LICENSE) for more information.

(back to top)

## Contact

Alex - [@alex](https://primal.net/profile/npub1ky9s6hjl46wxcj9gcalhuk4ag2nea9yqufdyp9q9r496fns5g44sw0alex)

Project Link: [https://github.com/PrimalHQ/primal-android-app](https://github.com/PrimalHQ/primal-android-app)

(back to top)

## Acknowledgments

* [NostrPostr](https://github.com/Giszmo/NostrPostr)
* [Acinq](https://acinq.co)

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/PrimalHQ/primal-android-app.svg?style=for-the-badge
[contributors-url]: https://github.com/PrimalHQ/primal-android-app/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/PrimalHQ/primal-android-app.svg?style=for-the-badge
[forks-url]: https://github.com/PrimalHQ/primal-android-app/network/members
[stars-shield]: https://img.shields.io/github/stars/PrimalHQ/primal-android-app.svg?style=for-the-badge
[stars-url]: https://github.com/PrimalHQ/primal-android-app/stargazers
[issues-shield]: https://img.shields.io/github/issues/PrimalHQ/primal-android-app.svg?style=for-the-badge
[issues-url]: https://github.com/PrimalHQ/primal-android-app/issues
[license-shield]: https://img.shields.io/github/license/PrimalHQ/primal-android-app.svg?style=for-the-badge
[license-url]: https://github.com/PrimalHQ/primal-android-app/blob/master/LICENSE.txt
[Kotlin]: https://img.shields.io/badge/kotlin-000000?style=for-the-badge&logo=kotlin&logoColor=white
[Kotlin-url]: https://kotlinlang.org
[AndroidStudio]: https://img.shields.io/badge/androidstudio-000000?style=for-the-badge&logo=androidstudio&logoColor=white
[AndroidStudio-url]: https://developer.android.com/studio