某个时间刚好有这个疑问,一开始我以为只有后者源码是在framework/base/core/res/res下的strings.xml,前面那个我还以为资源是在其他的系统源码目录中。

解答疑问前需要知道Android 系统资源相关的几个路径:

在 AOSP 的路径是:

./frameworks/base/core/res/

在手机flash的位置是:

/system/framework/framework-res.apk

在AS的 SDK 中的路径是:

./android-sdk/platforms/android-xx/data/res/

在 AOSP 系统资源编译时
在frameworks/base/core/res/res/values/public.xml配置的可以直接用android.R引用
在/frameworks/base/core/res/res/values/symbols.xml注册的字段只能以com.android.internal.R.引用

即android android.R.string.和com.android.internal.R.string.的区别就是公共和私有引用的区别

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐