【免费下载链接】LeanType
LeanType is an Open-source keyboard, fork of HeliBoard with additional features and customisation
LeanType 是一款免费开源的 Android 智能输入法,在 HeliBoard 基础上强化了 AI 校对、语音输入、手写识别与 OCR 等能力。本文带你从源码编译 LeanType:用 Android Studio 打开项目,配合 Gradle 构建系统,几分钟即可得到可安装的 LeanType 键盘 APK,支持 standard(在线)与 offline(离线)两种版本。
一、编译前准备:环境要求一览
LeanType 基于 Gradle 与 Android Gradle Plugin 构建,代码主体为 Kotlin,滑动输入(手势打字)等底层功能由 C++ 原生库(NDK 编译)实现,因此环境需要同时满足 Java 与 NDK 两套工具链。
| 组件 | 版本要求 | 出处 |
|---|---|---|
| JDK | 17(Android Studio 自带即可) | app/build.gradle.kts |
| Gradle | 8.13(由 wrapper 自动下载) | gradle-wrapper.properties |
| Android Gradle Plugin | 8.13.2 | build.gradle.kts |
| Kotlin | 2.2.21 | build.gradle.kts |
| Android SDK | compileSdk 36 / targetSdk 35 | app/build.gradle.kts |
| NDK | 28.0.13004108 | app/build.gradle.kts |
| 最低系统 | Android 5.0(standard 版要求 Android 6.0+) | app/build.gradle.kts |
💡 只需安装最新版 Android Studio,其余组件(SDK、NDK、Gradle)都可在首次同步时一键安装,或之后在Settings → SDK Manager中手动补装。
二、克隆仓库并打开项目
在项目根目录执行克隆(也可以使用 Android Studio 的File → Open → From Version Control直接填仓库地址):
git clone https://gitcode.com/gh_mirrors/le/LeanType然后用 Android Studio 打开LeanType目录,等待 Gradle Sync 完成。首次同步会下载 Gradle 8.13 分发版和大量依赖(Compose、CameraX、Coil 等),耗时较长属正常现象。
若同步时提示 NDK 缺失,按提示安装NDK 28.0.13004108即可;原生库(滑动输入的libjni_latinime.so)由 Android.mk 通过 ndk-build 驱动编译,只构建armeabi-v7a和arm64-v8a两个 ABI。
三、读懂构建配置:Flavor 与 Build Variant
LeanType 用「产品风味(product flavor)× 构建类型(build type)」组合出多个可构建版本,配置见 settings.gradle 与 app/build.gradle.kts:
| 维度 | 取值 | 说明 |
|---|---|---|
| Flavor | standard | 推荐版,可接入云端 AI,包名com.leanbitlab.leantype |
| Flavor | offline | 隐私版,OS 级屏蔽联网,包名后缀.offline |
| Build type | debug/debugNoMinify | 调试用,后者在 IDE 中构建更快 |
| Build type | release/nouserlib | 正式包,开启混淆与资源压缩 |
📌 仓库还包含一个独立工具模块
tools/make-emoji-keys,用于生成 emoji 按键数据,与 App 打包无关,无需特别处理。
四、三步构建出 Debug APK
- 选择变体:打开左侧Build(或工具栏的 Build Variants 面板),为
app模块选择standardDebug。 - 安装设备:连上 Android 手机并开启 USB 调试,或启动模拟器。
- 一键运行:点击工具栏 ▶ Run 按钮,等价于执行
assembleStandardDebug+ 安装。
构建成功后,手机应用列表会出现 LeanType(debug 包名带.debug后缀,可与正式版共存)。进入系统「设置 → 输入法」启用 LeanType 即可开始输入。
五、命令行构建:用 Gradle 生成 APK
不依赖 IDE 也可以构建。在仓库根目录执行(首次运行会自动使用 wrapper 里的 Gradle 8.13):
# standard 版 Debug 包 ./gradlew :app:assembleStandardDebug # offline 版 Release 包(未签名,见下节) ./gradlew :app:assembleOfflineReleaseAPK 输出在app/build/outputs/apk/下,文件名自动带有版本与变体标识,例如1-LeanType_4.2.9-standard-debug.apk(编号规则见 app/build.gradle.kts:standard 记为 1,offline 记为 2)。
六、生成可发布的签名 Release 包
Release 构建默认开启混淆(R8)和资源压缩,但未配置签名时产物不可安装。项目支持通过 keystore.properties 文件自动加载签名(仓库中不存在该文件,需自行新建在项目根目录):
storeFile=/path/to/your.keystore storePassword=你的库密码 keyAlias=你的别名 keyPassword=你的密钥密码随后执行./gradlew :app:assembleStandardRelease,Gradle 会自动启用 V1/V2/V3 签名(配置见 signingConfigs)。
七、常见编译报错与快速修复
| 现象 | 原因 | 解决办法 |
|---|---|---|
NDK not configured | 未装 NDK 或版本不符 | SDK Manager 安装 28.0.13004108 |
Java 17 is required | JDK 版本过低 | 在Settings → Build Tools → Gradle中选用 JBR 17 |
| Sync 阶段 OOM 崩溃 | 堆内存不足 | 调大 gradle.properties 中-Xmx(默认 2048m) |
| Release 包提示未签名 | 缺少 keystore | 按第六节创建 keystore.properties |
| 首次 Sync 卡住很久 | 依赖量大、网络慢 | 耐心等待;可开启 gradle.properties 中已默认启用的缓存加速二次构建 |
更多构建细节(布局文件位置、字典仓库约定等)可参考官方贡献指南 CONTRIBUTING.md。
八、构建结果速查
| 你想得到的产物 | 执行命令 |
|---|---|
| 调试安装包(standard) | ./gradlew :app:assembleStandardDebug |
| 离线隐私版(offline) | ./gradlew :app:assembleOfflineDebug |
| 正式发布包(需 keystore) | ./gradlew :app:assembleStandardRelease |
🎉 到这里,你已从源码完整编译出 LeanType 键盘。接下来不妨修改 app/src/main/assets/layouts/ 下的布局 JSON,重新构建一个真正属于你自己的键盘。
【免费下载链接】LeanType
LeanType is an Open-source keyboard, fork of HeliBoard with additional features and customisation
相关推荐
如何编译Mixxx源码:从零开始的完整构建教程
如何编译Mixxx源码:从零开始的完整构建教程 🎵 想要深入了解开源DJ软件Mixxx的内部工作原理吗?这篇 完整的Mixxx源码编译指南 将带你从零开始,逐
音视频桌面应用如何从零编译Navop:Rust+GPUI开发环境搭建与源码构建完整教程
如何从零编译Navop:Rust+GPUI开发环境搭建与源码构建完整教程 Navop 是一款用 Rust 与 GPUI 原生构建的开源一体化桌面工作台 ,集数据
如何从零构建PSOL库:incubator-pagespeed-ngx源码编译完整指南
如何从零构建PSOL库:incubator pagespeed ngx源码编译完整指南 incubator pagespeed ngx是一款由Apache开发的
后端企业应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考