openRawResource()始终抛出NotFoundException

时间:2011-12-03 16:52:19

标签: java android resources keystore

我想在Android应用程序中加载密钥库。我已将密钥(truststore.bks)复制到文件夹res/raw中。来自Android的SDK生成带有trustsotre条目的R.java。在App中尝试使用: Resources.getSystem().openRawResource(R.raw.truststore);

但我总是例外: android.content.res.Resources$NotFoundException: Resource ID #0x7f040000

我查看apk文件,看到truststore.bks文件位于res/raw/文件夹中。

我的错误是什么?

2 个答案:

答案 0 :(得分:5)

问题是您正在使用系统级资源来调用Resources.getSystem。具体而言,文档指出这不提供对应用程序资源的访问。您需要在应用程序中的Context对象上调用getResources - 您的所有活动都是Context对象,因为它们是从Context继承的。

答案 1 :(得分:0)

你的R.java是否包含相应的条目.....
尝试删除R.java并再次构建....
虽然我不完全清楚你的问题.... 这也不是一个合适的解决方案......