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

Flutter使用EpubViewer时如何修复android:exported相关报错

Flutter epub_viewer插件Android 12+构建报错修复

报错根因

当项目targetSdkVersion设为31及以上(适配Android 12及以上系统)时,所有配置了intent-filter的四大组件必须显式指定android:exported取值。epub_viewer依赖的原生FolioReader库未做该适配,Manifest合并阶段检测到SearchActivity组件不符合规则,直接抛出构建失败错误。

操作步骤

  • 打开项目内Android主Manifest文件,路径为android/app/src/main/AndroidManifest.xml
  • 在根节点<manifest>标签上补充tools命名空间声明,示例如下:
<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="替换为你的项目实际包名">
    <!-- 原有所有配置保持不变 -->
  • 在<application>标签内部的末尾位置,添加如下配置,强制为报错组件补充缺失属性参与Manifest合并:
<activity
    android:name="com.folioreader.ui.activity.SearchActivity"
    android:exported="false"
    tools:node="merge" />

如果后续构建时提示其他FolioReader关联的Activity、Service、Receiver组件也存在相同的exported属性缺失问题,按照相同格式补充对应组件声明即可,不需要修改插件本身的源码或依赖文件

  • 执行命令清理构建缓存,重新拉取依赖后再编译:
flutter clean
flutter pub get

执行完上述操作后重新构建项目即可正常通过编译。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:42:17