English | 中文
Thanks to Cris.Q for the original porting notes that inspired this project.
This is an Arch Linux PKGBUILD that packages DevEco Studio (Huawei's IDE for HarmonyOS development) from its Mac DMG distribution, bringing it to Linux with the help of JetBrains' IntelliJ IDEA native launcher and JBR.
It is not an official package. It is not endorsed by Huawei or JetBrains.
Everything works except the previewer. If you find any problems, file an issue.
If Huawei ships a native Linux build, this project will be archived.
Note
If you plan to use this project, reading the full README is strongly recommended; the collapsed sections are optional reading as needed.
Always check PKGBUILD yourself before using.
Build locally (any distro)
|
First, download two files from Huawei's website:
Place both What to do next depends on your distro: I'm on Arch LinuxIf you find checksum errors, it means Huawei has updated the IDE, and you will need to test for yourself whether this project still works. To update checksums to match your local files: I'm on another distroYou will need these dependencies: To also build .deb/.rpm packages: Then: Note: |
Build online (GitHub Actions)
|
The same build can be run in GitHub Actions:
A GitHub account can use Actions for free on public repositories. |
This package targets Arch Linux (the makepkg build); the .deb/.rpm
builds cover Debian 12+ / Ubuntu 22.04+ and Fedora / RHEL; the tarball
works on any Linux.
# Arch
sudo pacman -U devecostudio-*.pkg.tar.zst
# Debian / Ubuntu
sudo apt install ./devecostudio_*.deb
# Fedora / RHEL
sudo dnf install ./devecostudio-*.rpm
Other distros (via tarball)
|
Extract the tarball and set up the launcher manually: You also need the runtime dependencies (package names vary by distro):
|
Launch DevEco Studio with whatever you are familiar with (start menu / dock / command line).
The IDE needs the bundled Huawei command-line tools at runtime, and they
also work standalone from a terminal. By default the package symlinks them
into /usr/bin:
- Always exposed:
devecostudio,hdc - Exposed by default:
hvigorw,ohpm,hstack,hcodelinter,hemulator,harktsdoc;
Emulator, codelinter and arktsdoc are prefixed to avoid possible
collisions.
Adjusting the symlink behavior
|
Both behaviors are controlled by variables at the top of the PKGBUILD:
|
The bundled SDK is HarmonyOS 26.0.0 (Release). An older SDK (e.g. 6.1.1 Release) can be installed alongside and used per project — useful for reproducing issues or building against an older API level.
How?
|
Installing an older SDK also patches two things so it can actually be used:
hvigor's compileSdkVersion validation and the IDE's project-sync check
(both are hardwired to the bundled SDK version). The patches are applied
only by install-extra-sdk.sh — a default install stays pristine.
Note: source code using API 26-only interfaces (e.g. newer camera APIs) will not compile against 6.1.1 — adjust or guard the code accordingly.
The emulator works, but before first use you must accept the software agreements and download the system images via the command line.
How?
Once installed, you can create, manage and start emulators from the IDE's Device Manager. |
With Huawei's DevEco CLI, you and your AI Agent can effortlessly handle project initialization, building, signing, and debugging, alongside documentation lookup.
This project provide environment support for DevEco CLI. Simply set DEVECO_CLI_STUDIO_PATH=/opt/devecostudio.
The previewer is unavailable. Huawei has not yet ported the Rosen rendering engine to Linux.
The PKGBUILD extracts the Mac DMG and takes the platform-independent parts, then replaces the macOS-specific bits (launcher, JBR, native libraries) with their Linux counterparts from IntelliJ IDEA. The vmoptions and product-info.json are transformed on the fly so the IDE knows it's running on Linux.
The result is a native-feeling DevEco Studio that runs without Wine or containers.
Why repackage from the Mac version? Huawei distributes DevEco Studio for
Windows, macOS, and Linux. The Linux distribution has two problems: the
installer is an .exe that is hard to extract, and the packaged version
lags behind in updates. The Mac DMG is trivially extractable and contains
all the cross-platform files we need.
Component details
|
Three emulator-related quirks deserve a mention. First, Huawei's code only
distinguishes Mac from non-Mac, and the non-Mac branch hardcodes the
Second, system images must be downloaded manually because of how the official installer works: when the emulator is missing, its wizard downloads the binary and the system image together. Since this package bundles the binary, the IDE thinks the emulator is installed and never offers the wizard, leaving the system image as the only missing piece — see the Emulator section above for how to get one. Third, the emulator's software agreements: the IDE launches the emulator
binary directly, and if the agreements were never accepted it waits
silently for a Most of the IDE runs fine under Wayland, but the CEF-based user interfaces
— the project structure dialog, markdown preview, and similar — crash their
GPU process under Wayland ( If you prefer to run under Wayland natively, set
The launcher also enables JCEF's headless + out-of-process rendering by
default (equivalent to XWayland does not report per-monitor scale to the JVM (it reports 1.0), so
on a HiDPI screen the IDE would lock its UI scale to 1.0 — too small. The
launcher reads the compositor's real scale ( Override the value or disable the detection: You can also set the scale manually via the IDE's Help → Edit Custom VM Options. For more, see the IDEA HiDPI documentation. |
For the sake of brevity, you can check DETAILS.md to learn about other magic used in this project.
This project is not affiliated with or endorsed by Huawei.
Terms, redistribution and component licenses
|
DevEco Studio is a commercial product owned by Huawei. Before using it, you agree to the HUAWEI DevEco Studio User Agreement (reproduced in LICENSE.huawei). A few clauses worth noting:
This packaging project extracts platform-independent files from the Mac DMG and recombines them with Linux-native components (launcher, JBR, native libraries) from IntelliJ IDEA. The Java bytecode and resources are not modified, but configuration files are transformed. This likely constitutes "modification" and "merging" under clauses 1.7(f) and 1.7(h). What this means in practice:
The files that make up this packaging project are provided under the BSD 2-Clause license. They are not part of DevEco Studio and carry no restrictions from Huawei's terms.
|
