从源码构建 Simple SMS Messenger:Android 开源项目编译、签名与部署完整指南
Simple SMS Messenger 是一款完全开源、无广告的 Android 短信与彩信管理应用,以轻量、快速、可高度定制著称。本文是一份面向新手的 Android 开源项目编译指南,手把手带你完成从拉取源码、配置环境、APK 签名到最终应用部署安装的全流程,即使你从未用 Gradle 构建过项目,也能顺利产出属于自己的安装包。
构建前需要准备哪些工具
在开始 Android 开源项目编译之前,请先确认你的电脑满足以下条件:
| 工具 | 版本要求 | 作用 |
|---|---|---|
| JDK | 17 及以上 | 编译 Java/Kotlin 代码 |
| Android SDK | 平台 34、Build-Tools 34 | 提供编译与打包工具 |
| Git | 任意较新版本 | 拉取项目源码 |
项目在 gradle/libs.versions.toml 中明确锁定了技术栈:Android Gradle Plugin 8.1.1、Kotlin 1.9.0,并要求 JDK 17,请务必按此配置,否则编译阶段会直接报错。
提示:项目使用 Gradle 8.2.1,无需手动安装,根目录的
gradlew脚本会自动下载对应版本。
第一步:克隆 Android 开源项目源码
打开终端,执行以下命令把 Simple SMS Messenger 源码拉取到本地:
git clone https://gitcode.com/gh_mirrors/si/Simple-SMS-Messenger
cd Simple-SMS-Messenger
克隆完成后,你会看到清晰的目录结构,其中 app/ 是主模块,app/src/main/kotlin/com/simplemobiletools/smsmessenger/ 下按 activities、adapters、databases、helpers、messaging、receivers、services 等分包,典型的事件驱动 + Room 数据库架构一目了然。
第二步:配置 Android SDK 与本地环境
编译前需要告诉 Gradle SDK 的位置。在项目根目录创建 local.properties 文件:
sdk.dir=/你的/Android/Sdk/路径
同时建议在 gradle.properties 中按需调整内存参数,当前默认的 org.gradle.jvmargs=-Xmx8192m 适合大多数机器,内存较小的设备可酌情降低。
一切就绪后,先运行同步命令验证环境:
./gradlew help
看到 BUILD SUCCESSFUL 即代表环境配置正确,可以进入下一步。
第三步:选择构建变体(core / fdroid / prepaid)
Simple SMS Messenger 提供了三个产品渠道(flavor),配置位于 app/build.gradle.kts:
- core:完整版,功能最全,包含默认全套功能
- fdroid:面向 F-Droid 发行渠道的精简版
- prepaid:预付费运营商适配版
构建时通过 assemble 加渠道名组合出具体任务,例如构建 core 渠道的调试包:
./gradlew assembleCoreDebug
若希望一次构建全部三个渠道的 Debug 包,可直接执行:
./gradlew assembleDebug
第四步:配置 release 签名信息(APK 签名)
APK 签名是发布到手机前的关键环节。项目通过根目录的 keystore.properties 读取签名配置,模板参考 keystore.properties_sample:
storePassword=你的存储密码
keyPassword=你的密钥密码
keyAlias=你的别名
storeFile=../keystore.jks
签名逻辑见 app/build.gradle.kts:当检测到 keystore.properties 存在时,会自动把 release 构建类型关联到签名配置。如果你只是自用,可以先按模板生成一个本地签名文件:
keytool -genkey -v -keystore keystore.jks -alias myAlias -keyalg RSA -keysize 2048 -validity 10000
注意:
keystore.properties和keystore.jks涉及私钥安全,务必加入.gitignore,切勿提交到仓库。
第五步:执行编译并定位 APK 产物
配置好签名后,执行 release 构建命令:
./gradlew assembleCoreRelease
首次编译需要下载依赖,耐心等待几分钟即可。构建成功后,APK 产物位于:
app/build/outputs/apk/core/release/
按渠道不同,路径中的 core 会相应变为 fdroid 或 prepaid。产物为 sms-messenger-xxx-release.apk(文件名来自 app/build.gradle.kts 中的 archivesName 配置)。
第六步:应用部署安装的两种方式
拿到签名 APK 后,应用部署安装就很简单了:
方式一:adb 命令行安装(推荐开发者)
adb install -r app/build/outputs/apk/core/release/sms-messenger-core-release.apk
方式二:手动安装
把 APK 传输到手机(可用数据线或网盘),点击文件按系统提示允许"安装未知来源应用"即可。安装后可开启"USB 调试"配合 adb install 直接推送,效率更高。
常见编译问题排查
1. 提示 Java 版本不兼容:请确认 JDK 为 17,可通过 java -version 检查,或更换 JAVA_HOME 环境变量。
2. 依赖下载失败:项目依赖了 JitPack 仓库(见 settings.gradle.kts),如遇网络问题可配置镜像仓库,或重试 ./gradlew assembleCoreDebug。
3. release 包未签名:检查根目录是否已创建 keystore.properties,且 storeFile 路径指向真实存在的 keystore.jks。
4. 内存不足(OOM):在 gradle.properties 中适当调低 -Xmx 数值。
结语:从编译到定制的完整闭环
通过本文的 Android 开源项目编译、APK 签名与部署流程,你已经可以独立构建 Simple SMS Messenger。更进一步,你还可以修改 app/src/main/res/values/strings.xml 定制应用名称、在 helpers/Config.kt 中调整默认行为,打造真正属于你自己的无广告短信应用。动手试试吧!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考







