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

安卓应用Assets加载PDF:添加PDFView库遇未生效问题求助

解决安卓PDFView加载Assets文件提示“未添加任何内容”的问题

一、修正settings.gradle的仓库配置

你当前settings.gradle里的lll是无效内容,必须添加正确的maven仓库才能拉取到PDFView库。将settings.gradle中的仓库配置改为:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' } // 必须添加这个仓库
    }
}

二、检查Assets文件夹的PDF文件

  • 确保PDF文件放在src/main/assets目录下(如果没有assets文件夹,手动在main目录下新建)
  • 文件名不能包含中文、空格或特殊字符,建议用sample.pdf这类简洁命名
  • 代码中引用的文件名要和实际文件名完全一致(区分大小写,比如Sample.pdf和sample.pdf会被识别为两个不同文件)

三、修正Java/Kotlin加载代码

确保你在Activity/Fragment中正确初始化并加载PDF,示例代码如下:

Kotlin示例:

import com.github.barteksc.pdfviewer.PDFView
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val pdfView: PDFView = findViewById(R.id.pdfView)
        pdfView.fromAsset("sample.pdf") // 替换成你的PDF文件名
            .enableSwipe(true)
            .swipeHorizontal(false)
            .enableDoubletap(true)
            .onLoad(object : OnLoadCompleteListener {
                override fun loadComplete(nbPages: Int) {
                    // 加载完成后可执行后续操作
                }
            })
            .load()
    }
}

Java示例:

import com.github.barteksc.pdfviewer.PDFView;
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        PDFView pdfView = findViewById(R.id.pdfView);
        pdfView.fromAsset("sample.pdf") // 替换为你的PDF文件名
                .enableSwipe(true)
                .swipeHorizontal(false)
                .enableDoubletap(true)
                .onLoad(new OnLoadCompleteListener() {
                    @Override
                    public void loadComplete(int nbPages) {
                        // 加载完成后的操作
                    }
                })
                .load();
    }
}

四、其他排查点

  • 清理并重新构建项目:点击Android Studio顶部的Build -> Clean Project,再执行Build -> Rebuild Project,避免缓存问题
  • 检查PDF文件是否损坏:单独打开PDF文件,确认文件本身能正常读取
  • 尝试稳定版本依赖:如果3.2.0-beta.1有兼容问题,可以替换为稳定版implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'(注意稳定版API略有差异)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:03:18