You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NativeScript项目重置后构建失败,缺失splash_screen资源求助

解决NativeScript构建时找不到splash_screen资源的问题

从你的错误日志里能一眼看到核心问题:

D:\workspace\tns\projectname\platforms\android\app\src\main\res\values\styles.xml:40:5-41:13: AAPT: error: resource drawable/splash_screen (aka org.nativescript.projectname:drawable/splash_screen) not found.

虽然你已经做了git回退、清理未跟踪文件、重装NativeScript这些操作,但显然还有残留的构建产物或者配置问题没处理干净。下面是一步步的修复方案:

1. 彻底清理构建相关目录

有时候git clean可能没完全清理干净platforms和hooks里的编译残留,建议手动彻底删除这些目录再重新初始化:

  • 先关掉所有正在运行的NativeScript相关进程(比如tns run的终端)
  • 删除项目根目录下的platforms/、hooks/、node_modules/这三个文件夹
  • 重新执行npm install安装依赖,再运行tns prepare android重新生成Android构建文件

2. 检查App_Resources里的启动屏配置

错误直接指向splash_screen资源缺失,你需要重点检查:

  • 确认App_Resources/Android/src/main/res目录下是否存在以splash_screen命名的资源文件(比如不同分辨率文件夹下的splash_screen.png,或者对应的drawable xml文件)
  • 打开App_Resources/Android/src/main/res/values/styles.xml,检查引用splash_screen的地方有没有拼写错误
  • 如果之前修改过启动屏配置,确认是否误删了默认的资源文件,或者路径配置不对

3. 彻底清理npm缓存并重新安装CLI

你提到npm提示哈希不匹配,虽然清理过缓存,但可以再做一次更彻底的操作:

npm cache clean --force
npm cache verify

如果你用了nvm管理Node版本,还可以清理nvm的缓存:

rm -rf ~/.nvm/.cache/npm

然后重新安装NativeScript CLI:

npm uninstall -g nativescript
npm install -g nativescript
tns doctor # 运行这个命令检查你的开发环境是否正常

4. 验证git回退的完整性

有时候git reset可能没完全恢复所有文件,尤其是App_Resources这类可能被修改但没及时提交的目录:

  • 执行git status确认所有文件都是已跟踪状态,没有未提交的修改
  • 执行git diff HEAD~1对比上一个能正常构建的版本,看看App_Resources和配置文件有没有差异,确保回退到位

5. 修复gradle的过时配置(可选,但建议做)

日志里还提到compile和debugCompile已废弃,虽然这不是当前错误的直接原因,但为了避免后续问题,建议打开App_Resources/Android/app.gradle,把里面的:

  • compile替换成implementation
  • debugCompile替换成debugImplementation

如果以上步骤都试过还是不行,可以尝试创建一个全新的同版本NativeScript项目(用tns create testApp --ng --version 4.0.1),然后把你的业务代码和配置逐步迁移过去,对比两个项目的差异,就能快速定位问题所在了。


内容的提问来源于stack exchange,提问作者primee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:06:28