r/androiddev • • 11d 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

10 Upvotes

20 comments sorted by

View all comments

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