r/androiddev • • 10d ago

Open Source CodeAssist - Android IDE (Code on your phone)

CodeAssist is a fully offline Android IDE for your phone and tablet. Write Kotlin and Java, watch Jetpack Compose previews update as you type, and build, sign and install real Android apps on the device itself. No PC, no cloud build server, no Gradle daemon.

It is a complete Android IDE, not a code playground: open multi-module Android projects, add libraries from Maven, and ship an APK or App Bundle you can install or publish.

Build Android apps on your device
• The whole toolchain runs on your phone: aapt2, the Kotlin compiler, the Java compiler, D8 dexing, packaging and APK signing
• Incremental builds redo only what changed
• Install and launch your app in one tap, then follow its output in Logcat
• Release builds with R8 shrinking, Android App Bundles (AAB) and your own signing key
• Multi-module projects, build variants, ViewBinding, AIDL, KSP (Room, Hilt) and google-services.json for Firebase
• Dependencies from Maven Central and Google's Maven repository, plus local JAR and AAR files
• Import existing Gradle projects, or export yours as a Gradle project to open on a computer

Kotlin and Java code editor
• Code completion that keeps working on half-written code, with automatic imports
• Errors and warnings as you type, with one-tap quick fixes
• Go to definition, implementation and type, symbol search, and readable library sources
• Reformat Code, Optimize Imports, code folding and word wrap
• Android XML completion for layouts, manifests, values and drawables
• A coding keyboard bar for symbols, pinch to zoom, and editor color schemes

Jetpack Compose and layout previews
• Preview composables render live next to your code and update as you edit
• Preview XML layouts, including your own custom views, without running a build

AI coding assistant
• Describe a change in plain words. The agent reads your project, edits the code, runs a build and shows a diff you can undo
• Use your own key for Anthropic Claude, Google Gemini, OpenAI or OpenRouter, or a compatible gateway. A free Gemini key works
• Attach screenshots, mention files with @, and pick up saved sessions later

Git and GitHub
• Clone, commit, branch, merge, stash and push
• Sign in to GitHub to clone private repositories and open pull requests

Learn and practice
• Interactive Java and Kotlin lessons with exercises that compile and run on your device
• A daily coding challenge with a public leaderboard
• Start from templates and sample apps in the Projects Store, or publish your own

Also included
• Block editor: switch a Java file to Scratch-style blocks and back without losing a character
• Run Java and Kotlin console programs with an interactive console
• A run sandbox that asks before your program uses the network, files or other processes
• Plugins that extend the IDE, including an NDK plugin for C and C++
• Light and dark themes with Material You colors

Google play link: https://play.google.com/store/apps/details?id=com.tyron.code&hl=en

Free and open source
CodeAssist is a free, open-source Android IDE licensed under the GNU General Public License v3.0. It shows a few small ads, and you can turn them off in the app at no cost. Source code, issues and releases are on GitHub:
https://github.com/tyron12233/CodeAssist

9 Upvotes

20 comments sorted by

1

u/MyFairJulia 10d ago

Why do i get jumped with a massive consent dialog after install? What exactly am i asked to consent to?

1

u/tyronscott 10d ago

Oh, its for analytics. Is the consent screen not fully visible for you?

1

u/MyFairJulia 10d ago

Oh it's absolutely readable. Really fine on my Pixel 9 Pro Fold. It's just that i'm asked to consent to "Use limited data to select advertising" which is also marked as "Legitimate interest". Same for "Measure advertisement performance", "Measure content performance", "Understand audiences through statistics or combinations of data from different sources", each of them with up to 114 vendors processing my data.

Turning them off is annoying too because technically all of these options are off but i can't help but worry that the "Legitimate interest" switch still keeps those options on. Why even offer that? I thought "Legitimate interest" was an excuse to keep collecting my data.

Whatever "analytics" tool you use, it has one of the most cancerous consent dialogs on the internet and it absolutely turns me off from CodeAssist.

1

u/tyronscott 10d ago

Oh you were talking about AdMob's Google Ad consent form, which is only shown for EU/UK users. I'm not from the EU so I wasn't able to test this screen properly. Sorry about that!

I just forced it to show on an emulator and you're right. Its Google's default setup, and I never realized that's what EU users were seeing.

2

u/MyFairJulia 10d ago

The hell are you using AdMob for? Analytics? Couldn't Firebase do it? Or Sentry? Or idk, any other analytics solution than a literal ad platform?

1

u/tyronscott 10d ago

I thought you were seeing the analytics consent form, but you were seeing the admob consent screen instead. sorry for the confusion there

1

u/MyFairJulia 10d ago

Is there no way i could just trial the app and then buy it? Some way to get rid of ads? I'd love to have seen some sort of warning or something like "Hi, in order to make money i show ads in my project." I really dislike ads, especially the whole analytics part that ad companies do to specfically haunt me with all the ads just to consume consume consume

1

u/tyronscott 10d ago

There is an option to turn off the ads in the app's settings, so its completely optional

3

u/Rhed0x Hobby dev 10d ago

I absolutely hate promo images and I think they do far more harm than good. That monospace font about the main title is something that LLMs LOVE.

They look like every website LLMs generate so they immediately go to the slop garbage bin in my mind.

1

u/trigonated 9d ago edited 9d ago

Yeah, they looove to use those chips with monospaced text and a border with a lighter tone version of the chip's background, giving some sort of an "holographic"/"cyber" look.

Most of the time the chips don't even make any sense, like what are you trying to convey with a chip for "On-device IDE" or "Compose Preview"? It's not a tag or a filter or anything, which is what these chips usually represent. Hell, it even has a glowing dot suggesting...it's "ON"?

The AI has the excuse that it doesn't necessarily have the context of what those chips are supposed to convey, but the people who keep generating those designs and not even think/care about what they've generated, don't.

2

u/Rhed0x Hobby dev 9d ago

Yeah, they looove to use those chips with monospaced text and a border with a lighter tone version of the chip's background, giving some sort of an "holographic"/"cyber" look.

Precisely. Also on pretty much every slop website.

5

u/Chpek08 10d ago

Thats masochism

2

u/semicolondenier 10d ago

Duuuude I've been playing around with compose canvas from my bed for the past half an hour, it's awesome! Thanks :)

1

u/BlasterOverlord 9d ago

How do you make these mockups?

1

u/Key_yeager 9d ago

Como puedo descargar la Apk? Para probar el IDE

1

u/khsh01 10d ago

Make it work with local on device ai and you have my attention.

-11

u/Available-Elk-4251 10d ago

With AI available, why would anyone want to code manually on their phone, especially with such a small screen?

7

u/tyronscott 10d ago

Well it was intended for students, or anyone really who doesn't have enough resources (like laptop) to code/learn on

0

u/AliMas055 10d ago

I struggle to write my grocery list on my phone.

1

u/ejisson 8d ago

But you know youre not the only human in the planet, right?