我想在我的 Android 应用程序中加载一个 keystore 。我已将 key (truststore.bks
) 复制到文件夹 res/raw
中。来自 Android 的 SDK 生成带有 trustsotre 条目的 R.java。在 App 中尝试使用:
Resources.getSystem().openRawResource(R.raw.truststore);
但我总是得到一个异常(exception):
android.content.res.Resources$NotFoundException:资源 ID #0x7f040000
我查看了 apk 文件,发现 truststore.bks 文件位于文件夹res/raw/
中。
我的错误是什么?
最佳答案
问题是您正在通过调用 Resources.getSystem 使用系统级资源。具体来说,文档指出这不提供对应用程序资源的访问。您需要在应用程序中的 Context 对象上调用 getResources - 您的所有 Activity 都是一个 Context 对象,因为它们继承自 Context。
关于java - openRawResource() 总是抛出 NotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8369247/