【问题标题】:I can view PDF file on emulator only nut not on a real device in Flutter application我只能在模拟器上查看 PDF 文件,而不能在 Flutter 应用程序的真实设备上查看
【发布时间】:2026-01-27 16:10:01
【问题描述】:

我使用了 import 'package:advance_pdf_viewer/advance_pdf_viewer.dart';从资产目录查看 PDF 文件,它在模拟器上运行良好,但是当我在手机上安装 APK 文件时,指示器旋转并且不显示 PDF 文件,应用程序也没有崩溃

并注意到控制台中有一条消息,但同时文件显示在模拟器上 资源调用关闭失败。 I/ple.flutter_ap(12020):NativeAlloc 并发复制 GC 释放 1875(113KB) AllocSpace objects,0(0B) LOS objects,53% free,1355KB/2MB,paused 6.847ms,总共 92.795ms

我在网上搜索并尝试了以下解决方案,但没有成功

添加这行代码:

-keep class com.shockwave.** { *; } 现在在您的应用级 build.gradle 文件中,将其添加到您的 buildType:

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 这样您的 buildType 文件夹看起来像这样:

构建类型 { 发布 { 缩小启用真 收缩资源真 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 签名配置签名配置.debug } } 在此输入代码

这是获取PDF文件的代码,效果很好,但只能在模拟器上运行

loadDocument() async {
    document = await PDFDocument.fromAsset('assets/sample4.pdf');

    setState(() => _isLoading = false);
}

【问题讨论】:

    标签: flutter pdf mobile emulation viewer


    【解决方案1】:

    问题与内存和杀毒有关,所以我删除或不需要的代码,并要求杀毒解决安装后APK文件和应用程序的任何问题

    【讨论】:

      最近更新 更多