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

Flutter的call_log包在Android11上报错,有哪些可用替代方案?

call_log包Android 11崩溃问题解决方案

快速修复方案(无需改动业务代码,10分钟生效)

直接替换依赖为适配了Android V2 embedding的衍生版本:

  • 打开项目的pubspec.yaml,找到原有call_log: 3.0.3的依赖行
  • 替换为call_log_v2的最新稳定版本
  • 执行flutter pub get后重新编译运行即可,原有调用call_log包的业务代码完全不用修改

可选方案

自行适配现有call_log包

如果不想更换依赖,可以手动修改本地缓存的call_log 3.0.3包代码完成V2适配:

  1. 进入本地pub缓存的call_log包的android目录
  2. 修改AndroidManifest.xml中的flutterEmbedding元数据值从1改为2
  3. 修改CallLogPlugin.java文件,实现FlutterPlugin接口,新增V2嵌入层的注册逻辑:
public class CallLogPlugin implements FlutterPlugin, MethodCallHandler {
    private MethodChannel channel;
    private Context context;

    @Override
    public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) {
        context = binding.getApplicationContext();
        channel = new MethodChannel(binding.getBinaryMessenger(), "call_log");
        channel.setMethodCallHandler(this);
    }

    @Override
    public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
        channel.setMethodCallHandler(null);
    }

    // 保留原有onMethodCall等业务逻辑代码即可
}
  1. 执行flutter clean后重新运行项目

降级Flutter版本(不推荐)

可将Flutter版本降级到1.22.6版本,该版本默认兼容Android V1 embedding,不会触发本次报错,但会丢失新版Flutter的功能优化,仅适合临时过渡使用。

不建议等待原call_log包更新:该包已长时间停止维护,没有V2适配的更新计划。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:15:05