android系统资源添加

来源:互联网 发布:java连接池原理 编辑:程序博客网 时间:2024/06/07 07:02
android添加系统资源源文件路径: /frameworks/base/core/res/res编译后路径: /out/target/product/项目名称/system/framework/framework-res.apkR.Java文件: /out/target/common/R/com/android/internal/R.Java资源的添加:如在framework-res中添加一个共有字符串,需修改以下文件:    frameworks/base/core/res/res/values/public.xml    frameworks/base/core/res/res/values/strings.xml如在framework-res中添加一个私有字符串,需修改以下文件:    frameworks/base/core/res/res/values/symbols.xml    frameworks/base/core/res/res/values/strings.xml 添加完成后进行 mmm framework/base/core/res 编译,然后检查是否添加到R.java文件中.添加成功后 在代码中使用 com.android.internal.R.string.xxx 来引用.在对系统新增了一些资源进行源码编译时会遇到 com.android.internal.R.XX can not find 的问题,可使用(make update-api)来更新api,./frameworks/base/api/current.txt 会被重新生成.public.xml 与 symbols.xmlpublic.xml中声明的是公共资源,所有应用程序都可以调用,symbols.xml中声明的是非公共资源,仅供系统内部使用,不对app开放.public.xml 中字段格式为 <public type="attr" name="networkSecurityConfig" id="0x01010527" />symbols.xml中字段格式为<java-symbol type="string" name="use_times"/>symbols.xml是在4.2后,将系统私有的资源分离成了单独的文件.若将私有的声明添加在了public.xml文件中,则编译时会报错,可采用 make framework 2>&1 | sed -n -f MakeJavaSymbols.sed | sort -u ,此命令将会列出所有新增的私有资源,并将它们拷贝到symbols.xml中.另外:若果添加其他资源,如layout,drawable 需要在对应的路径下的文件添加字段即可.资源编译:首先到res目录下面执行mm,得到framework-res.apk然后在framwork中使用了新添加资源的目录下执行mm, 生成 *.jar最后到/framework/base 下执行mm 重新生成最新的 framework.jar

2 0