如何在App中访问Android Framework的strings.xml?依赖与R类导入咨询
关于访问Android系统框架字符串资源的问题解答
- 能否访问:可以访问该文件中公开的系统字符串资源,但部分资源属于系统内部使用,可能未对外暴露,或在不同Android版本、厂商定制系统中存在内容/可用性差异。
- 所需依赖:不需要额外添加Gradle依赖。Android SDK默认包含系统框架的资源定义,只要项目配置了对应目标版本的
compileSdkVersion即可。 - 导入的R类:必须导入系统自带的
android.R类,而非你自己应用模块生成的自定义R类(比如com.your.app.R)。
代码示例
比如要调用系统默认的"OK"或"取消"字符串,可以这样写:
// 通过应用上下文获取 String okText = getApplicationContext().getString(android.R.string.ok); // 或者直接获取系统资源实例 Resources systemResources = Resources.getSystem(); String cancelText = systemResources.getString(android.R.string.cancel);
注意事项
- 不是该文件里的所有字符串都有对应的
android.R.string常量,内部私有资源不会对外提供访问入口。 - 不同Android版本或定制ROM可能修改这些字符串的内容,兼容性场景下建议做适配测试。
内容的提问来源于stack exchange,提问作者Ricardo Rodrigues
相关产品推荐
相关产品推荐

