CLI tool
massivemadness/Squircle-CE avatar
massivemadness/Squircle-CE

Squircle CE for Android: Building the Open Source Code Editor

👨‍💻 Squircle CE is a fast and free multi-language code editor for Android

1,900 stars165 forksKotlinApache-2.0

At a glance

What is it?
Squircle CE is an open source Android code editor written primarily in Kotlin, with separate app flavors for Google Play and F-Droid. The repository provides source code, Android build instructions, and a modular project layout, but it does not document runtime editor configuration in the README.
Who is it for?
Adopt Squircle CE when you want an Android code editor whose source is available under Apache-2.0 and whose build produces either a Google Play flavor or a FOSS distribution. Do not choose it solely for documented language integrations or terminal behavior, because the README does not specify those capabilities.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 10 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Squircle CE Is Intended For

Squircle CE addresses a specific need: providing a code editor on Android in a form that can be built from source and distributed through different channels. The README describes it as a fast and free multi-language code editor for Android, while the repository topics identify syntax highlighting, code completion, file exploration, Git, terminals, servers, themes, fonts, and shortcuts as areas associated with the project. The intended audience includes Android users who edit source code away from a desktop, and developers who want to inspect or build the editor itself.

The project is not presented as a general-purpose desktop IDE. Its build instructions target macOS, Linux, and Windows through Git Bash, and the application is structured as an Android app. That distinction matters when evaluating the project. A developer looking for local project management, compilation, and debugging on a workstation may need a desktop tool, while a developer looking for an Android-native editing environment can inspect this repository.

The source is available under the Apache License, Version 2.0. The README also lists a Google Play listing, an F-Droid package, and GitHub releases. Those distribution paths are separate from source-code licensing. The `gms` flavor is intended for Google Play publishing, while the `foss` flavor excludes closed-source libraries and is intended for F-Droid and GitHub releases. That distinction gives adopters a concrete choice based on distribution requirements.

Squircle CE's Android Module Layout

Based on the repository layout, Squircle CE uses a modular Android project rather than keeping all application code in one directory. The top level includes `app/`, `core-common/`, `core-navigation/`, `core-redux/`, `core-test/`, and `core-ui/`. It also has separate feature directories such as `feature-editor/`, `feature-explorer/`, `feature-fonts/`, `feature-git/`, `feature-servers/`, `feature-settings/`, `feature-shortcuts/`, `feature-terminal/`, and `feature-themes/`.

This arrangement suggests a separation between shared infrastructure and user-facing capabilities. Navigation, Redux, common utilities, testing, and UI components are kept outside individual feature modules. Filesystem code is placed under `filesystems/`, while the editor implementation has a `feature-editor/` directory and the repository includes `sora-editor`. The README does not describe the runtime API, state model, file access behavior, or editor configuration format, so those details should not be inferred solely from directory names.

The project also contains `build-logic/`, `benchmark/`, `fastlane/`, Gradle files, and a `gradlew` wrapper. Based on those entries, building, benchmark-related code, and release tooling are part of the repository structure. The README does not document how to run the benchmark module or how to configure Fastlane, so those areas require direct inspection before they can be used.

Building Squircle CE from Source

The documented build is for contributors or packagers who have an Android signing keystore. The README requires at least 1.11 GB of free disk space, including space for the source and generated files, and 4 GB of RAM. The supported workstation setup is macOS or Linux. Windows users can use Git Bash.

First, clone the repository with its submodules. The recursive and shallow submodule options are part of the documented command. This matters because the top-level repository includes `.gitmodules`, and the build instructions explicitly require submodules.

bash
$ git clone --recursive --depth=1 --shallow-submodules https://github.com/massivemadness/Squircle-CE Squircle-CE

The next command is only needed if the recursive clone option was omitted. Run it from the `Squircle-CE` directory to initialize and update all submodules.

bash
$ cd Squircle-CE
$ git submodule init && git submodule update --init --recursive --depth=1

Before building, create a `local.properties` file. The README identifies `KEYSTORE_PATH`, `KEYSTORE_PASSWORD`, `KEY_ALIAS`, and `KEY_PASSWORD` as required properties. The keystore path must be absolute. The file contains signing secrets, so the documented instruction is to keep it inaccessible to other people.

After creating the file, the README instructs the builder to open the project in Android Studio or run the Gradle wrapper from the command line. The documented release build command is:

bash
$ cd Squircle-CE
$ ./gradlew assembleRelease

The README does not provide a debug-build command or document the exact generated output path. A builder should therefore verify those details in the Android project configuration rather than assuming a filename or location.

Choosing the gms and foss Flavors

Squircle CE has two documented distribution profiles. The `gms` flavor is described as being used for publishing the application on Google Play. The `foss` flavor is described as a version without closed-source libraries, intended for F-Droid and GitHub releases. The repository therefore supports both a store-oriented build and a distribution path centered on open-source dependencies.

This choice is relevant when building for redistribution. A developer who needs the Google Play build should select `gms`, according to the README. A developer who needs the F-Droid or GitHub release path should select `foss`. The README does not include an explicit Gradle command for selecting either flavor, and it does not document the exact dependency differences between them. It would be inaccurate to invent a flag or assume that the two flavors differ only in packaging.

The `local.properties` signing configuration applies to the build instructions in general, but the README does not say whether both release variants require the same signing setup. Anyone preparing a signed artifact should inspect the Gradle build logic and verify the selected variant before publishing. The distinction is a documented project constraint, not a performance difference.

Maintenance State and Upgrade Work

The repository is not archived. Its last push was on 2026-10-13. The listed releases are `2025.1.3` from 2025-05-14, `2025.1.2` from 2025-05-06, and `2025.1.1` from 2025-04-27. The release names follow a calendar-style version, but the README does not explain the versioning policy or compatibility guarantees.

An upgrade may involve more than changing an application version. The build requires submodules, a Gradle wrapper, Android Studio or the command line, and a local signing file. A contributor must also account for changes in dependency resolution, Android build tooling, and feature modules. The repository includes `sora-editor`, along with separate filesystem and feature modules, so an upgrade can affect editor and platform behavior beyond the app shell.

Apache-2.0 permits use and modification under the license's conditions, including preservation of applicable notices and the license text. This is a licensing summary, not legal advice. Anyone redistributing a modified build should review `LICENSE`, `PRIVACY-POLICY.md`, dependency licenses, and the signing or store requirements applicable to the selected flavor.

Limits of the Published Project Documentation

The README documents building, flavors, translations, distribution locations, and contribution routes, but it does not provide a feature-by-feature usage guide for the editor. It does not specify supported programming languages, syntax themes, autocomplete providers, Git operations, SSH server configuration, terminal behavior, or file permission behavior. The repository topics and module names indicate areas of the codebase, not a promise that every feature is configured in a particular way.

That limitation makes Squircle CE harder to evaluate as an end-user application from the README alone. A developer deciding whether to install it should not assume that a feature module means a complete production integration. The project is also an Android application, so desktop workflows and desktop debugging are outside the documented build target.

The most useful next verification is repository inspection. For a potential adopter, start by checking the `README.md`, `app/`, `feature-editor/`, `filesystems/`, `feature-git/`, and `feature-terminal/` directories, then inspect the release artifact and privacy policy. For a builder, inspect `build.gradle.kts`, `build-logic/`, `gradle.properties`, and the flavor definitions. This project supplies the source and build entry points, but not enough documentation to replace a direct review of those files.

Why Squircle CE Differs from a Desktop IDE

Squircle CE focuses on Android as the execution and delivery environment. Its build produces Android application variants, and its documented distribution targets are Google Play, F-Droid, and GitHub releases. A desktop IDE would normally be built and operated on macOS, Linux, or Windows and would not require an Android signing keystore for a release build.

The practical difference is the target platform, not a claim that one editor is better than another. Squircle CE is relevant when the desired output is an Android-native code editor that can be built from an open source repository. A desktop IDE is the more direct choice for projects centered on local compilation, debugger sessions, local Git repositories, and workstation-specific tooling.

Squircle CE also offers a licensing and distribution decision through its two flavors. The `foss` profile is explicitly documented as excluding closed-source libraries, which may matter to packagers. The `gms` profile is aligned with Google Play publishing. Neither README claim establishes the completeness of every dependency or store policy, so distribution checks remain necessary.

Editorial conclusion

Adopt Squircle CE when you want an Android code editor whose source is available under Apache-2.0 and whose build produces either a Google Play flavor or a FOSS distribution. Do not choose it solely for documented language integrations or terminal behavior, because the README does not specify those capabilities. Verify Android Studio compatibility, signing requirements, disk and memory needs, and the exact flavor before starting a release build.

Frequently asked questions

How do I build Squircle CE on Android?

Clone the repository with submodules, create `local.properties` with the documented signing properties, then run `./gradlew assembleRelease` from the project directory. The README also supports building through Android Studio.

What is the difference between the Squircle CE gms and foss flavors?

The `gms` flavor is intended for Google Play publishing. The `foss` flavor excludes closed-source libraries and is intended for F-Droid and GitHub releases.

Does Squircle CE support building on Windows?

The README lists macOS and Linux as supported build systems and says Windows is supported through Git Bash. The project can therefore be built on Windows with Git Bash, according to the documentation.

Official sources

  1. License: Apache-2.0
  2. massivemadness/Squircle-CE on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/massivemadness-squircle-ce.svg)](https://hysenlabs.com/projects/massivemadness-squircle-ce)

Was this useful?