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

安卓TV应用集成android-pdf-viewer依赖解析失败求助

依赖解析失败原因

com.github.* 前缀的开源依赖统一托管在JitPack仓库,你当前的Gradle配置里没有添加JitPack仓库,且已经废弃停服的jCenter不包含该版本的依赖,所以会出现解析失败报错。
你使用的Android Gradle插件7.2.1版本默认将依赖仓库的配置收拢到settings.gradle文件中,在项目级build.gradle中添加仓库不会生效,还会触发FAIL_ON_PROJECT_REPOS规则报错。

修复步骤
  • 打开项目根目录下的settings.gradle文件,在dependencyResolutionManagement.repositories代码块中添加JitPack仓库配置,删除你之前添加的jCenter配置(jCenter已停服,无实际作用还可能拖慢依赖拉取速度),修改后的完整配置如下:
pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}
rootProject.name = "####"
include ':app'
  • 点击Sync Now同步Gradle配置,即可正常拉取com.github.barteksc:android-pdf-viewer:3.2.0-beta.1依赖。
  • 若后续运行时出现so库加载异常,可在模块级build.gradle的defaultConfig块中添加ABI过滤,适配TV设备通用架构:
ndk {
    abiFilters 'armeabi-v7a', 'arm64-v8a'
}
TV端PDF查看库适配说明
  • 你当前选用的android-pdf-viewer本身就适配TV场景:它基于原生Canvas渲染PDF,不依赖WebView,不存在TV端WebView碎片化导致的渲染异常问题,只需要自行重写按键事件,将遥控器上下左右/确认键映射为翻页、缩放操作即可,适配成本极低。
  • 如果需要深度定制交互,可以选择com.tom-roush:pdfbox-android,这是PDFBox的官方安卓移植版,纯Java实现无原生so依赖,你可以完全自主控制PDF的渲染逻辑、焦点逻辑,适合定制化要求高的TV应用。
  • 不推荐使用基于WebView加载在线PDF预览、或者js渲染的PDF方案,TV端设备系统版本差异大,WebView兼容性差,很容易出现焦点丢失、渲染错乱、内存占用过高的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 21:06:22