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

Delphi 11编译安卓应用仅Release模式启动崩溃,提示找不到FileProvider类

Delphi 11安卓Release模式FileProvider类找不到崩溃解决方案

根本原因

报错是Release模式打包时androidx.core.content.FileProvider类没有被打入最终APK导致的,核心有两个常见触发原因:

  1. Release模式开启的R8/D8代码裁剪误将没有显式调用的FileProvider类裁剪移除
  2. 项目没有正确启用AndroidX支持,打包时未引入androidx.core核心库

解决步骤

步骤1:添加ProGuard保留规则

这是最常见的触发原因,操作如下:

  • 打开Delphi项目,依次点击菜单栏「项目」→「选项」
  • 左侧导航栏找到「构建」→「部署」→「Android 32位/64位」(对应你打包的架构)
  • 找到「ProGuard配置」区域,勾选「使用自定义ProGuard配置文件」
  • 打开你指定的自定义ProGuard配置文件,添加以下规则:
-keep class androidx.core.content.FileProvider { *; }
-keep class androidx.core.app.CoreComponentFactory { *; }
  • 保存配置后重新构建Release包测试

步骤2:确认项目已开启AndroidX支持

如果添加规则后还是报错,检查AndroidX支持配置:

  • 进入「项目」→「选项」→「构建」→「Delphi编译器」→「链接」
  • 确认勾选「启用AndroidX支持」选项
  • 检查你的项目自定义AndroidManifest.template.xml文件中,FileProvider的配置是否正确,provider标签的android:name属性必须为androidx.core.content.FileProvider,不要误用旧版android.support包的路径

步骤3:验证代码裁剪问题

如果上述操作都无效,可以临时关闭代码裁剪验证问题:

  • 回到「部署」→「Android」设置页,找到「启用D8/R8代码裁剪」选项,临时取消勾选
  • 重新构建Release包运行,如果不再崩溃,说明还是裁剪规则配置问题,可进一步补充AndroidX相关的保留规则即可

补充说明

你当前使用的Delphi 11初始版本(28.0.42600.6491)存在多个Android打包相关的已知bug,条件允许的话可以安装Delphi 11 Update 1及以上版本的官方更新,可直接修复部分AndroidX依赖打包异常问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:15:02