tyron12233 /CodeAssist

An IDE for building Android applicatons on Android.

★ 2,138⑂ 420
KotlinCreated 2021-08-16
2,138
stars
+5
420
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

CodeAssist






CodeAssist is an IDE for Android that runs on Android. You can write Kotlin and Java, preview Compose and
XML layouts, and build, sign and install APKs on the phone itself, without a computer or a remote build
server. A desktop version for Windows and Linux is built from the same code.


  
  
  


 Features

- Kotlin and Java editing: completion, auto-import, errors as you type with quick fixes, go to
  definition/implementation, reformat and optimize imports.
- Android XML completion and validation for layouts, manifests and resource files.
- Compose @Preview functions render next to the code and update as you edit. XML layouts preview too,
  including your own custom views.
- Builds run on the device: aapt2, kotlinc, ecj, D8/R8 and apksigner. Builds are incremental. Output can
  be a debug APK, or a release APK or App Bundle signed with your own key.
- Multi-module projects, build variants, ViewBinding, AIDL, KSP (Room, Hilt) and Firebase's
  google-services.json.
- Dependencies from Maven Central, Google's Maven repository, and local JAR and AAR files.
- Import an existing Gradle project, or export a project as a Gradle project to open in Android Studio.
- Git: clone, commit, branch, merge, stash and push. With a GitHub sign-in you can clone private
  repositories and open pull requests.
- An optional AI coding agent that uses your own API key (Anthropic, Gemini, OpenAI or OpenRouter).
- Plugins can add languages, build steps, tool windows and project templates. C/C++ (NDK) support is a
  separate plugin.

 Limitations

- CodeAssist does not run Gradle. Build scripts are read when a project is imported (dependencies,
  version catalogs, the common android {} options), but Gradle plugins and custom build logic are not
  executed.
- Only the bundled Kotlin compiler plugins are available: Compose, kotlinx.serialization and Parcelize.
- Kotlin support is newer than Java support and has more rough edges.
- Large projects are slow to index and build on phones with little RAM.

If something you need is missing, open an issue. It helps to know what people are trying to build.

 Download

- GitHub Releases: the Android APK, and the desktop
  builds for Windows and Linux.
- Google Play

The Play build and the GitHub APK are signed with different keys, so one can't be installed over the
other.

 How it works

Gradle is too heavy to run on a phone, so CodeAssist keeps its own project model. Each module's build is a
graph of tasks with up-to-date checks, much like Gradle's, and the tasks call the Android tools directly
instead of going through the Android Gradle Plugin. Changing one file only re-runs the tasks that depend
on it.

Java analysis uses Eclipse JDT. Kotlin uses the Kotlin compiler's parser with CodeAssist's own analysis on
top, so completion doesn't have to start a full compiler session on every keystroke. Symbol indexes for
libraries and the Android SDK are stored on disk and read in place, which keeps memory use flat as
proj

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON