当需要改动android framework的UI时需要改动资源文件,但是这个时候就和一般的apk不一样了,需要另做处理!

一:目录

资源文件目录/frameworks/base/core/res

编译最终生成:/out/target/$product//system/framework/framework-res.apk

会在/out/target/common/R/com/android/internal/R.java中更新资源,供其它地方调用.


二:编译

当需要添加一个资源(layout,drawable,values)添加进res对应地方,先 touch * 更新时间.

有两种方法更新资源文件:

1:可以使用 make update-api 更新


2:/frameworks/base/core/res/res/values/public.xml中按照规则添加,注意id不要重复.

android 4.2相比4.1又做了一些改动,将所有私有资源的声明放到了framework/base/core/res/res/values/symbols.xml中。

如果对系统新增了一些资源进行源码编译时会遇到 com.android.internal.R.XX can not find symbol的问题。

具体解决方法网上已经有人提出:

make framework 2>&1 | sed -n -f MakeJavaSymbols.sed | sort -u

使用这个命令将会列出所有新增的私有资源,将它们拷贝到symbols.xml中即可。


资源处理好了之后就开始编译,首先到res目录下面执行mm,得到framework-res.apk

在framwork中哪个地方使用了新添加的资源,就需要到那个目录下执行mm 得到 *.jar

然后到/framework/base 下执行mm 重新生成最新的framework.jar




更多相关文章

  1. Android:TabLayout向上滑动停留页面顶部
  2. AndroidJNI实践(1)-使用.h头文件-静态注册JNI方法
  3. android修改或添加SettingsProvider的默认值
  4. Android下新增JNI过程中启动新增系统服务(addService)遇安全错误问
  5. android实现图片加水印
  6. RecyclerView
  7. Android知识要点整理(2)----- 应用资源
  8. Android(安卓)4 游戏高级编程(第2版)
  9. RK3288 Android(安卓)5.1 固件 编译

随机推荐

  1. 初识android 自定义控件
  2. [Android问答] 如何获得手机屏幕分辨率?
  3. [转帖]Android软件汉化
  4. android:onClick --new attribute from S
  5. android Immutable bitmap passed to Can
  6. Android涂鸦简单制作
  7. Android第九课 Toast 用法注意事项
  8. Android SSL BKS证书的生成过程
  9. 安卓模拟器设置网速和延迟
  10. 短视频app开源源码android 给图片加文字