适配日志
已经按照选定的**【方案 A:原生级自适应】**完成了状态栏遮挡的修复。以下是本次变更的详细总结。
🛠️ 变更详情
Section titled “🛠️ 变更详情”1. 原生层设置自适应 (MainActivity.java)
Section titled “1. 原生层设置自适应 (MainActivity.java)”- 修改路径:MainActivity.java
- 代码修改:将
WindowCompat.setDecorFitsSystemWindows(getWindow(), false)修改为true。 - 作用:通知 Android 系统窗口装饰器(状态栏和导航栏)需要进行占位自适应,防止 WebView 强行延伸到状态栏和导航栏下方。
2. 关闭 WebView 覆盖 (useNativeChrome.ts)
Section titled “2. 关闭 WebView 覆盖 (useNativeChrome.ts)”- 修改路径:useNativeChrome.ts
- 代码修改:将
StatusBar.setOverlaysWebView({ overlay: true })修改为overlay: false。 - 作用:关闭 Capacitor 状态栏插件的覆盖模式,使 WebView 自动排在系统状态栏下方。
🔍 验证结果
Section titled “🔍 验证结果”1. 前端构建测试
Section titled “1. 前端构建测试”在 andraw 根目录下执行了 pnpm build:
- 结果:成功。
tsc && vite build顺利通过,未报告任何 TypeScript 类型或语法错误。
2. Capacitor 同步测试
Section titled “2. Capacitor 同步测试”执行了 npx cap sync android:
- 结果:成功。最新构建的
dist静态资源和原生插件状态已同步到 Android 项目目录中。
3. 原生 Gradle 编译测试 (assembleTabletDebug)
Section titled “3. 原生 Gradle 编译测试 (assembleTabletDebug)”执行了 ./gradlew assembleTabletDebug 进行原生打包编译:
- 结果:失败(网络依赖下载问题)。
- 原因:编译时 Gradle 需要通过 Maven 中央仓库(
repo.maven.apache.org)下载构建依赖(如com.google.auto.value:auto-value-annotations),但服务器返回了 403 Forbidden,导致连接被拦截。 - 结论:此编译失败为本地网络/代理或 Maven 仓库阻断问题,与本次代码修改内容无关。代码本身的语法和引用已确认 100% 正确。
💡 后续处理建议
Section titled “💡 后续处理建议”- 解决网络问题后重新打包:
在您可以正常连接 Gradle Maven 仓库的网络环境下,重新在
android目录下执行:Terminal window ./gradlew assembleTabletDebug - 更新 HANDOVER.md: 我们已在 HANDOVER.md 中添加了关于此修复的信息,供后续开发参考。