notedeck/README.md

64 lines
1.4 KiB
Markdown
Raw Normal View History

# Damus
2023-11-29 04:32:40 +00:00
A multiplatform nostr client. Works on android and desktop
Alpha! WIP!
## Android
Look it actually runs on android!
2023-11-29 04:38:39 +00:00
<img src="https://cdn.jb55.com/s/bebeeadf7001fae1.png" height="500px" />
2022-11-06 05:12:17 +00:00
# Developer Setup
## Desktop (Linux/MacOS, Windows?)
First, install [nix][nix] if you don't have it.
2023-11-29 04:43:40 +00:00
The `shell.nix` provides a reproducible build environment for android and rust. I recommend using [direnv][direnv] to load this environment when you `cd` into the directory.
If you don't have [direnv][direnv], enter the dev shell via:
```bash
$ nix-shell
```
2023-11-29 04:43:40 +00:00
Once you have your dev shell setup, you can build with this command:
```bash
$ cargo run --release
2023-11-29 04:43:40 +00:00
```
## Android
The dev shell should also have all of the android-sdk dependencies needed for development, but you still need the `aarch64-linux-android` rustup target installed:
```
$ rustup target add aarch64-linux-android
```
2023-11-29 04:43:40 +00:00
To run on a real device, just type:
```bash
$ cargo apk run --release
```
## Android Emulator
- Install [Android Studio](https://developer.android.com/studio)
- Open 'Device Manager' in Android Studio
- Add a new device with API level `34` and ABI `arm64-v8a` (even though the app uses 30, the 30 emulator can't find the vulkan adapter, but 34 works fine)
- Start up the emulator
while the emulator is running, run:
2023-11-29 04:43:40 +00:00
```bash
cargo apk run --release
2023-11-29 04:43:40 +00:00
```
The app should appear on the emulator
2023-11-29 04:43:40 +00:00
[direnv]: https://direnv.net/
[nix]: https://nixos.org/download/