Skip to content

Latest commit

 

History

4,817 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Xed-Editor

Xed-Editor Icon

Xed-Editor is a versatile and extensible text editor for Android, featuring syntax highlighting, LSP-powered code intelligence, a built-in terminal, extensions, and fast project-wide tools for efficient editing.

Android CI Download count


Website

To learn more about Xed-Editor, including its documentation, extensions, themes, icon packs, and account-related features, visit the official website: https://xed-editor.app

Discord Telegram


Download

  • Latest Alpha Build: Download from Actions
  • Latest Stable Build: Download from Releases

Get it on Google Play Get it on F-Droid Get it on IzzyOnDroid


Screenshots


Build the Project

The app ships in two flavors:

Flavor applicationId Extensions module Notes
community com.rk.xededitor included Default flavor. GitHub / F-Droid / IzzyOnDroid.
playstore com.rk.axion excluded Google Play build; minified, without the extension store.

The community flavor is the default flavor (used by CI and by tooling that needs a default variant). Build a specific flavor with a flavor-qualified task; the unqualified aggregate tasks such as assembleDebug build every flavor.

Detecting the flavour at runtime

The flavour is declared once per product flavour in app/build.gradle.kts as the BuildConfig.FLAVOUR field, and each flavour's XedApplication publishes it during startup. Library modules cannot read the application module's BuildConfig, so they should branch on the shared com.rk.app.AppFlavour instead:

// True when this build bundles the extensions module and the user has not disabled it.
if (AppFlavour.current.bundlesExtensions && FeatureRegistry.isEnabled("enable_extension")) {
    // e.g. show the theme/icon-pack/extension store entries
}

Unknown or uninitialized flavours fall back to AppFlavour.COMMUNITY, so previews and unit tests still work.

Bundled terminal rootfs (playstore)

The playstore flavour bundles the arm64 Ubuntu rootfs at app/src/playstore/assets/arm64-v8a/ubuntu.rootfs, so the terminal sets up without downloading it. That flavour therefore supports arm64-v8a devices only and shows an error dialog on other ABIs; the community flavour keeps downloading the matching rootfs from the network.

Choose one of the following build methods.

Option 1: Build Locally

Build the debug APK (signed with the included test key):

./gradlew assembleCommunityDebug

The compiled APK will be located at app/build/outputs/apk/community/debug/app-community-debug.apk.

To build the Play Store variant instead:

./gradlew assemblePlaystoreRelease
Option 2: Build with Docker

If you don't have the Android SDK or JDK 21 installed locally, you can build the project in a Docker container:

DOCKER_BUILDKIT=1 docker build --target export-stage --output ./out .

The generated debug APK will be located at out/community/debug/app-community-debug.apk.


Contributing

We welcome contributions! Please read the /docs/CONTRIBUTING.md file to learn how you can get involved.


Translations

Help translate Xed-Editor! Visit Weblate to get started:

Translation Status

Contributors