☰
FeurStagram源码构建完整教程:JDK 21 + Android SDK + Morphe补丁器,从零编译你自己的Instagram补丁
2026/10/16 12:57:52 网站建设 项目流程

【免费下载链接】FeurStagram

Instagram without Reels, feed or ads: an open-source, updatable Instagram app for Android that keeps DMs and stories.

项目地址:https://gitcode.com/gh_mirrors/fe/FeurStagram
点击查看免费下载

FeurStagram 是一个开源的 Android Instagram 补丁项目:它不收集账号密码,只把官方 Instagram APK 打补丁,去掉首页信息流、Reels、Explore 和广告,同时保留私信、快拍、搜索与通知。本文带你完成FeurStagram 源码构建:在 JDK 21 + Android SDK 环境下,用 Morphe 补丁器从源码编译出属于你自己的feurstagram.apk,不用信任任何预构建包。

一、构建流程全景:一条命令背后的 3 个阶段

在动手之前,先理解整个 build.sh 脚本做了什么。它把构建拆成清晰的三步:

阶段做什么关键产物
1/3用 Gradle 编译 Kotlin 补丁代码,生成补丁包patches-*.mpp(Morphe Patch Package)
2/3用 Morphe CLI 把补丁应用到你的 Instagram APK未签名/已签名的补丁 APK
3/3签名并输出,可选adb install推送到手机feurstagram.apk

整个项目的补丁逻辑集中在两处:

  • patches/:Morphe 补丁定义(Kotlin),按"指纹"(类名、字符串、方法形状等稳定特征)定位注入点,所以 Instagram 小版本更新后通常只需重新构建,不用改补丁。
  • extensions/extension/src/main/java/com/feurstagram/extension/:运行时扩展代码(Java),包含网络拦截、设置页、隐藏标签页等逻辑。

二、构建环境要求:JDK 21、Android SDK 与 Morphe 依赖

官方构建文档 docs/BUILD_FROM_SOURCE.md 列出的硬性要求如下:

  1. JDK 21:Morphe 的 Android Gradle 插件只支持 JDK 17–21,项目会固定到 21,避免系统里更新的 JDK 干扰构建。
  2. Android SDK:设置好ANDROID_HOME环境变量,并安装 build-tools(签名用的apksigner就来自这里)。
  3. Morphe 补丁器依赖:Gradle 插件app.morphe.patches(见 settings.gradle.kts)托管在 GitHub Packages 上,需要凭据才能拉取。在~/.gradle/gradle.properties中配置:
gpr.user=<你的用户名> gpr.key=<具有 read:packages 权限的令牌>
  1. 一份受信任来源的 Instagram APK:推荐arm64-v8a单包版本。如果你拿到的是.apkm/.xapk等分包格式,build.sh会先用 APKEditor 把 base.apk 和 split 合并成一个通用 APK(需将 APKEditor jar 放到tools/目录),合并结果缓存在build/merged/下。

💡 小提示:build.sh会自动探测~/Library/Android/sdk、~/Android/Sdk、Homebrew 安装路径等常见 SDK 位置;tools/下还需要 Morphe CLI jar(morphe-cli-*.jar或morphe-desktop-*.jar),这是第 2 阶段执行补丁的工具。

三、克隆仓库并准备 Instagram APK

克隆 FeurStagram 仓库:

git clone https://gitcode.com/gh_mirrors/fe/FeurStagram cd FeurStagram

然后准备一份可信来源下载的 Instagram APK(arm64-v8a 推荐)。注意 docs/FAQ.md 的提醒:只使用可信渠道的 APK,避免引入未知修改。

四、一键构建:./build.sh 完整命令示例

一切就绪后,核心命令只有一条:

./build.sh instagram.apk

常用参数组合:

# 与应用商店版 Instagram 并行安装(独立包名 com.instagram.android.feurstagram) ./build.sh instagram.apk --clone # 构建完成后直接推送到已连接的 ADB 设备 ./build.sh instagram.apk --clone --install

参数说明:

  • --clone:启用 ClonePatch.kt 补丁,把包名和应用标签重命名,实现与原版 Instagram 双开共存;
  • --install:构建结束后自动执行adb install -r feurstagram.apk;
  • --debug:启用调试桥(DebugBridge.java),让设置项可通过 ADB 广播驱动,仅供开发使用,不要发布debug 构建。

如果不想走--install,手动安装即可:

adb install -r feurstagram.apk

五、签名:让后续升级不用卸载重装

构建过程中会完成签名,行为由环境变量控制:

  • 设置了FEURSTAGRAM_KEYSTORE_PASS(可选FEURSTAGRAM_KEY_PASS):使用feurstagram.keystore签名。由于该 keystore 是 PKCS12 格式而 Morphe CLI 只认 BKS,build.sh会先让 CLI 输出未签名 APK,再调用 Android SDK 的apksigner以 v1+v2+v3 方案签名,与现有发布的签名保持一致——用户无需卸载即可原地更新;
  • 未设置:CLI 会生成一次性密钥签名,适合测试,不适合长期安装(换密钥意味着 Android 会把它当成不同来源的包,需卸载重装)。

⚠️ 不要把你的 keystore 提交到仓库。想要保留应用数据持续更新,请始终复用同一个 keystore。

六、构建产物验证与调试

构建脚本会打印每一步补丁的执行报告(来自build/patch-report.json),形如:

ok Network block ok Settings entry point ok Signature check bypass

如果某个指纹在新版 Instagram 上失配,报告里会以FAIL标出——这就是补丁需要适配的信号,而构建会在第一个失败处中断。

安装后可以在 logcat 中确认网络拦截是否生效:

adb logcat | grep "Blocked by Feurstagram"

被拦截的请求(首页流/feed/timeline/、Explore、Reels、广告等路径,规则见 Block.java)都会抛出java.io.IOException: Blocked by Feurstagram。

如上图所示,构建出的 APK 长按左下角 Home 标签即可打开设置页,随时开关 Home Feed、Explore、Reels、Stories 等拦截项——这正是你自己编译的补丁带来的完整能力。

七、常见问题速查

问题原因与解决
Gradle 拉取app.morphe.patches插件失败~/.gradle/gradle.properties缺少gpr.user/gpr.key,或令牌没有read:packages权限
报 "Morphe CLI not found under tools/"tools/目录缺少morphe-cli-*.jar/morphe-desktop-*.jar
.apkm合并失败tools/缺少 APKEditor jar;查看生成的合并日志build/merged/*.log
安装时提示签名不一致换 keystore 签名了;先卸载旧版,或固定使用同一 keystore
Instagram 大版本更新后补丁失效指纹失配,查看 patch-report 中FAIL的条目,调整对应指纹后重新构建

八、延伸阅读:从构建到上手

  • 源码构建文档:docs/BUILD_FROM_SOURCE.md
  • 预构建 APK 安装指南:docs/INSTALL.md
  • 构建脚本源码(签名与分包合并逻辑都在这里):build.sh
  • 补丁模块配置:patches/build.gradle.kts、settings.gradle.kts
  • 常见问答:docs/FAQ.md
  • 隐私说明:docs/PRIVACY.md

写在最后

完成 FeurStagram 源码构建后,你得到的不仅是一个去除了 Reels、信息流和广告的 Instagram,更是一份完全可审计的补丁:每一个注入点都能追溯到 patches/ 下的 Kotlin 指纹定义。以后每次 Instagram 更新版本,重新执行一遍./build.sh <新版instagram.apk>就能跟上——这正是开源补丁相比闭源修改版的核心优势。

【免费下载链接】FeurStagram

Instagram without Reels, feed or ads: an open-source, updatable Instagram app for Android that keeps DMs and stories.

项目地址:https://gitcode.com/gh_mirrors/fe/FeurStagram
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询