Files
unleashed-firmware/documentation/HowToBuild.md
T
Mykhailo ShevchukandClaude Opus 5 7f12ed3976 docs: building FAPs on Android with Termux (no PC) (#1060)
* docs: add "Building FAPs on Android with Termux" guide

Documents how to run ufbt inside Termux on a stock Android phone and
build .fap applications on-device - no PC, proot or VM. Adapted with
permission from @CamsShaft's BUILD-FLIPPER-FAPS-IN-TERMUX (MIT), see
issue #1028, with these changes for this repo:

- Point ufbt at the Unleashed update index instead of the official SDK,
  and warn that a plain `ufbt update` silently switches back to it.
- Make the toolchain wrapper loop idempotent and version-agnostic:
  glob the gcc version directory instead of hardcoding 12.3.1, skip
  already-wrapped .real payloads so re-running after a toolchain update
  can't wrap a wrapper, and keep bin/python3 out of it (it points at
  Termux's Bionic Python and must not go through glibc's linker).
- Replace the `ufbt launch` deploy step: Android doesn't expose USB
  CDC-ACM device nodes to Termux, so it can't work unrooted. Copy the
  .fap out via shared storage instead.

Linked from HowToBuild.md and the ReadMe.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* upd changelog: FAPs on Android with Termux doc

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-01 00:07:19 +03:00

65 lines
1.9 KiB
Markdown

# How to Build by yourself:
## Install required software
- Git - [Download](https://git-scm.com/downloads) for Windows, on Linux/Mac install via package manager (`brew`, `apt`, ...)
For development:
- Git
- VSCode
## Clone the Repository
You should clone with
```shell
$ git clone --recursive https://github.com/DarkFlippers/unleashed-firmware.git
```
## VSCode integration
`fbt` includes basic development environment configuration for VSCode. Run `./fbt vscode_dist` to deploy it. That will copy the initial environment configuration to the `.vscode` folder. After that, you can use that configuration by starting VSCode and choosing the firmware root folder in the `File > Open Folder` menu.
# Build on Linux/macOS
Check out `documentation/fbt.md` for details on building and flashing firmware.
### Compile plugin and run it on connected flipper
```sh
./fbt COMPACT=1 DEBUG=0 launch_app APPSRC=applications_user/yourplugin
```
### Compile everything + get updater package to update from microSD card
```sh
./fbt COMPACT=1 DEBUG=0 updater_package
```
Check `dist/` for build outputs.
Use `flipper-z-{target}-update-{suffix}.tgz` to flash your device.
# Build on Windows
Check out `documentation/fbt.md` for details on building and flashing firmware.
### Compile everything + get updater package to update from microSD card
```powershell
./fbt.cmd COMPACT=1 DEBUG=0 updater_package
```
**You may need to change `/` to `\` in front of fbt command (Only for Windows)!**
Check `dist/` for build outputs.
Use `flipper-z-{target}-update-{suffix}.tgz` to flash your device.
If compilation fails, make sure all submodules are all initialized. Either clone with `--recursive` or use `git submodule update --init --recursive`.
# Build apps on Android (no PC)
Applications (`.fap`) can also be built on an Android phone with `ufbt` running inside Termux — see [Building FAPs on Android with Termux](BuildingFapsOnAndroid.md). This covers apps only, not the firmware.