GrapheneOS PdfViewer无法打开PDF问题求助(附Logcat日志)
解决GrapheneOS PdfViewer无法打开PDF的问题
正在构建GrapheneOS的PdfViewer项目,已下载对应子模块,但无法打开PDF文件。使用Windows系统,Logcat输出日志如下:
2022-11-02 00:12:37.712 21225-21279 PdfViewer D path /viewer.html 2022-11-02 00:12:37.748 21225-21225 chromium I [INFO:CONSOLE(0)] "Error with Permissions-Policy header: Unrecognized feature: 'ambient-light-sensor'.", source: (0) 2022-11-02 00:12:37.748 21225-21225 chromium I [INFO:CONSOLE(0)] "Error with Permissions-Policy header: Unrecognized feature: 'battery'.", source: (0) 2022-11-02 00:12:37.748 21225-21225 chromium I [INFO:CONSOLE(0)] "Error with Permissions-Policy header: Unrecognized feature: 'hid'.", source: (0) 2022-11-02 00:12:37.748 21225-21225 chromium I [INFO:CONSOLE(0)] "Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'interest-cohort'.", source: (0) 2022-11-02 00:12:37.748 21225-21225 chromium I [INFO:CONSOLE(0)] "Error with Permissions-Policy header: Unrecognized feature: 'payment'.", source: (0) 2022-11-02 00:12:37.748 21225-21225 chromium I [INFO:CONSOLE(0)] "Error with Permissions-Policy header: Unrecognized feature: 'picture-in-picture'.", source: (0) 2022-11-02 00:12:37.748 21225-21225 chromium I [INFO:CONSOLE(0)] "Error with Permissions-Policy header: Unrecognized feature: 'serial'.", source: (0) 2022-11-02 00:12:37.749 21225-21225 chromium I [INFO:CONSOLE(0)] "Error with Permissions-Policy header: Unrecognized feature: 'speaker-selection'.", source: (0) 2022-11-02 00:12:37.749 21225-21225 chromium I [INFO:CONSOLE(0)] "Error with Permissions-Policy header: Unrecognized feature: 'usb'.", source: (0) 2022-11-02 00:12:37.749 21225-21225 chromium I [INFO:CONSOLE(0)] "Error with Permissions-Policy header: Unrecognized feature: 'xr-spatial-tracking'.", source: (0) 2022-11-02 00:12:37.752 21225-21279 PdfViewer D path /pdfjs-dist/webpack.js 2022-11-02 00:12:37.752 21225-21271 PdfViewer D path /viewer.css 2022-11-02 00:12:37.753 21225-21271 PdfViewer D path /pdf.js 2022-11-02 00:12:37.760 21225-21271 PdfViewer D path /viewer.js 2022-11-02 00:12:37.764 21225-21225 chromium I [INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected token '.'", source: https://localhost/pdf.js (1) 2022-11-02 00:12:37.770 21225-21225 chromium I [INFO:CONSOLE(3)] "Uncaught ReferenceError: pdfjsLib is not defined", source: https://localhost/viewer.js (3) 2022-11-02 00:12:37.772 21225-21279 PdfViewer D path /favicon.ico 2022-11-02 00:12:37.773 21225-21225 chromium I [INFO:CONSOLE(203)] "Uncaught ReferenceError: pdfjsLib is not defined", source: https://localhost/viewer.js (203)
问题分析
日志中的Permissions-Policy警告属于非致命提示,不会导致PDF无法打开。核心故障链是:
pdf.js第1行出现语法错误Unexpected token '.',说明该文件内容损坏或加载不完整- 后续
pdfjsLib is not defined报错是连锁反应——pdf.js未能正常加载,导致依赖它的viewer.js找不到核心变量
解决方案
- 重新同步子模块:在项目根目录执行
git submodule update --init --recursive,确保pdfjs-dist等子模块文件完整无缺失,避免因子模块下载中断导致文件损坏 - 检查本地文件映射:确认本地服务(localhost)正确映射项目文件,直接查看本地
pdf.js的开头内容,排查是否存在无效字符或文件截断情况 - 适配语法兼容性:如果使用的Chromium/WebView版本较旧,可能不支持ES6+语法(如可选链
?.),需调整项目编译配置,添加Babel转译兼容旧环境 - 清除缓存:清空浏览器或WebView的缓存,避免加载之前缓存的损坏文件
内容的提问来源于stack exchange,提问作者Muhammad Nadeem
相关产品推荐
相关产品推荐

