编译链现代化:AGP 8.11 + Gradle 8.13 + JDK 17 + AndroidX by Skykai521 · Pull Request #56 · Skykai521/StickerCamera · GitHub
Skip to content

编译链现代化:AGP 8.11 + Gradle 8.13 + JDK 17 + AndroidX#56

Merged
Skykai521 merged 13 commits into
masterfrom
modernize-build-toolchain
Jun 18, 2026
Merged

编译链现代化:AGP 8.11 + Gradle 8.13 + JDK 17 + AndroidX#56
Skykai521 merged 13 commits into
masterfrom
modernize-build-toolchain

Conversation

@Skykai521

Copy link
Copy Markdown
Owner

将 StickerCamera(2015 年的工程)的整个编译链升级到现代、可长期维护的版本,完成 AndroidX 全面迁移。已在模拟器(API 31)实机冒烟通过。

工具链

AGP 1.2.3 8.11.1
Gradle 2.4 8.13
JDK / Java Retrolambda 模拟 8 JDK 17,source/target 17
compileSdk / targetSdk 22 36
minSdk 15 26
仓库 jcenter(已停服) google + mavenCentral

主要改动

  • AndroidX 全面迁移:android.support.*androidx.*(app + 两个 vendored 模块),各模块加 namespace、删 manifest package
  • 死库替换/移除:melnykov FAB → Material FAB;sephiroth HListView → 水平 RecyclerView(FilterAdapter/StickerToolAdapter 重写为 RecyclerView.Adapter);systembartint → edge-to-edge + WindowInsets;未使用的 MaterialEditText 直接删。
  • 依赖升级:ButterKnife 6.1.0 → 10.2.3;EventBus 2.4.0 → 3.3.1(@Subscribe);fastjson / universal-image-loader 本地 jar → mavenCentral 坐标。
  • Gpu-Image:预编译 .so 迁到 jniLibs,裁掉废弃 ABI(armeabi/mips/mips64),保留 arm64-v8a/armeabi-v7a/x86/x86_64。
  • 移除 Retrolambda,改用 JDK 17 原生编译。

构建适配(compileSdk 36 / JDK 17 暴露的问题)

  • 启动 Activity 补 android:exported="true"(targetSdk 31+ 要求)。
  • ButterKnife 注解处理器 JDK 17 放行:--add-exports/--add-opens 访问 javac 内部 API。
  • android.nonFinalResIds=false 使 R 字段 final 以兼容 @BindView
  • 替换已移除 API:Canvas.MATRIX_SAVE_FLAGsave()FloatMathMath

验证

  • ./gradlew clean assembleDebug 通过,APK 含正确 ABI。
  • 模拟器主流程冒烟:相册(ViewPager/PagerSlidingTabStrip)→ 裁剪(ImageViewTouch)→ 图片处理(GPU 滤镜 .so 渲染 + ACV 曲线生效)→ 水平 RecyclerView 工具条滚动/点击 → 贴纸叠加;各界面无系统栏遮挡;无崩溃。
  • 相机拍照路径因模拟器自带 fake-camera HAL 崩溃(环境问题,非本工程代码)未走通。

设计与计划文档见 docs/superpowers/specs/docs/superpowers/plans/

🤖 Generated with Claude Code

Skykai521 and others added 13 commits June 18, 2026 18:29
AGP 8.11 + Gradle 8.13 + JDK 17 + AndroidX 全面现代化方案,
compileSdk/targetSdk 36, minSdk 26。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
12 个任务的逐步执行计划,含完整代码与构建/grep 验证门。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- manifest 启动 Activity 加 android:exported
- ButterKnife 注解处理器 JDK17 放行 (--add-exports)
- nonFinalResIds=false 使 R 字段 final 以兼容 @BindView
- 替换已移除 API: Canvas.MATRIX_SAVE_FLAG -> save(), FloatMath -> Math
@Skykai521 Skykai521 merged commit 150d0e3 into master Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant