tyron12233

CodeAssist

tyron12233

CodeAssist 是跑在 Android 设备上的 IDE,无需 Gradle 守护进程即可构建 Android/Java 项目,支持补全、积木编辑与设备端 Git。

v3.33.0
发布于
2 天前
2,073
星标
3,599
下载
同步于
1 天前

最新版本

v3.33.02026年10月27日 05:47
下载慢?可在上方随时切换镜像源

项目说明

项目概述

在手机上写 Android 应用通常卡在两件事:Gradle 太重、工具链跑不起来。CodeAssist 的做法是完全自建:项目用声明式模型描述,编译成带指纹增量检查与持久缓存的增量任务 DAG,直接驱动 aapt2、D8/R8 与 apksigner,全程不托管 Gradle。Java 补全由 Eclipse JDT 驱动,Kotlin 补全为测试版,还内置 Compose Multiplatform 界面与桌面、Android 双启动器。回归测试 2170 项通过,Java 补全质量指标 recall 100%、top-1 75%。

口袋里的真 IDE,从补全到签名安装一条龙。

项目 内容
平台 Android(ART)+ 桌面启动器
技术栈 Kotlin,60 个模块分层,Compose Multiplatform UI
许可证 GPL-3.0-or-later,插件 SPI 带 Classpath-exception-2.0
测试 2170 项通过 / 386 套件
构建 Gradle wrapper + JDK 17+

核心能力

  • Java 代码智能:Eclipse JDT 容错解析、排名补全、诊断与快速修复,每次按键补全延迟 2.8–4.3 毫秒
  • Kotlin 补全(beta):设备端完整 Kotlin 补全,对齐 Java 的排名体验
  • 积木编辑:任意 Java 文件投影为 Scratch 风格类型化积木树,改动按最小源码编辑写回,注释原样保留
  • Android XML 辅助:布局与清单的标签、属性、资源补全与实时校验
  • 真机构建 APK:解析、编译、dex、打包、签名、安装全在设备上
  • 设备端 Git:基于 JGit 的暂存、提交、分支、合并、stash 与推送,可登录 GitHub 克隆私有仓库并发 PR
  • 全面扩展点:模块类型、构建系统、语言后端、分析器与快速修复均以 SPI 插入

工程结构

  • 分层依赖:platform → lang → build-system → run → android → services → plugins → app,依赖只向下
  • 扁平路径:Kotlin 编辑后端是 :lang-kotlin,虽位于 lang/lang-kotlin,映射只在 settings.gradle.kts
  • 事务式变更:先在 Transaction 上暂存再 commit,长任务为 suspend 且受读写锁约束

快速上手

  1. 从 Releases 安装 Android 启动器,或在桌面跑 ./gradlew :ide-desktop:run
  2. 新建或克隆项目,写代码用补全与积木编辑
  3. 点构建直接在设备上产出 APK 并签名安装
  4. 需要 CI 时用 headless 的 codeassist 启动器与官方 GitHub Action

构建与测试

  • 仅核心框架:CI_CORE_ONLY=true ./gradlew check,纯 JVM 无需 Android SDK
  • 完整构建:./gradlew build 需 Android SDK
  • 回归基线:regressionTest 任务对照提交的 JSON 基线,补全质量回归会让 CI 失败

注意事项

  • 插件许可例外:plugin-api、platform-core 等 SPI 模块带 Classpath-exception-2.0,插件可用任意许可发布
  • 指标口径:延迟数字记录自维护者机器仅供参考,质量指标跨机器一致
  • 开发约定:ID 用 @JvmInline value class 包装,开放集合为字符串值类、封闭集合为枚举

历史版本

排序