Files
2026-05-29 15:07:55 +03:00

69 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Moonlight Android
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/232a8tadrrn8jv0k/branch/master?svg=true)](https://ci.appveyor.com/project/cgutman/moonlight-android/branch/master)
[![Translation Status](https://hosted.weblate.org/widgets/moonlight/-/moonlight-android/svg-badge.svg)](https://hosted.weblate.org/projects/moonlight/moonlight-android/)
[Moonlight for Android](https://moonlight-stream.org) is an open source client for NVIDIA GameStream and [Sunshine](https://github.com/LizardByte/Sunshine).
Moonlight for Android will allow you to stream your full collection of games from your Windows PC to your Android device,
whether in your own home or over the internet.
Moonlight also has a [PC client](https://github.com/moonlight-stream/moonlight-qt) and [iOS/tvOS client](https://github.com/moonlight-stream/moonlight-ios).
You can follow development on our [Discord server](https://moonlight-stream.org/discord) and help translate Moonlight into your language on [Weblate](https://hosted.weblate.org/projects/moonlight/moonlight-android/).
## Downloads
* [Google Play Store](https://play.google.com/store/apps/details?id=com.limelight)
* [Amazon App Store](https://www.amazon.com/gp/product/B00JK4MFN2)
* [F-Droid](https://f-droid.org/packages/com.limelight)
* [APK](https://github.com/moonlight-stream/moonlight-android/releases)
## Building
* Install Android Studio and the Android NDK
* Run git submodule update --init --recursive from within moonlight-android/
* In moonlight-android/, create a file called local.properties. Add an ndk.dir= property to the local.properties file and set it equal to your NDK directory.
* Build the APK using Android Studio or gradle
## Building with Nix
A `flake.nix` provides a reproducible dev environment and a fully hermetic
debug-APK build (Android SDK 34, NDK 27.0.12077973, Gradle, JDK 17). All
commands need `?submodules=1` so the `moonlight-common-c` + `enet` submodule
sources are included in the build.
```sh
# Dev shell: ANDROID_HOME / ANDROID_NDK_ROOT / JAVA_HOME + gradle, then build by hand
nix develop '.?submodules=1'
./gradlew assembleNonRootDebug
# Hermetic, offline build of the nonRoot debug APK (output in ./result/)
nix build '.?submodules=1#moonlight-android'
ls result/app-nonRoot-debug.apk
```
Maven dependencies are pinned in `deps.json` (a Nixpkgs Gradle mitm-cache
lockfile). Regenerate it after changing dependencies:
```sh
nix build '.?submodules=1#moonlight-android.mitmCache.updateScript' && ./result
```
Notes:
* If your Nix is configured to offload to a remote builder, add `--builders ""`
to build locally instead of copying the multi-GB SDK closure to the remote.
* The build targets the `nonRoot` `debug` variant; it is signed with the
generated Android debug keystore (not a release key).
## Authors
* [Cameron Gutman](https://github.com/cgutman)
* [Diego Waxemberg](https://github.com/dwaxemberg)
* [Aaron Neyer](https://github.com/Aaronneyer)
* [Andrew Hennessy](https://github.com/yetanothername)
Moonlight is the work of students at [Case Western](http://case.edu) and was
started as a project at [MHacks](http://mhacks.org).