Android framework/base/core/res 中添加资源文件编译
2014-06-04 20:20
441 查看
最近自己做Multi_window项目,需要添加一些图片和布局文件,上网搜了一通,但是貌似没有合适KitKat的,于是总结分享下:
http://git.omapzoom.org/?p=platform/frameworks/base.git;a=commitdiff;h=9d9ece3c1e16001b63244459cdf4b428f4272d2e
An easy way to find the symbols is:
1) add the new id to your xml
2) run "make -j4 2>&1 | sed -n -f frameworks/base/core/res/MakeJavaSymbols.sed | sort -u"
will generate a output like this:
<java-symbol type="id" name="new_id_1" />
<java-symbol type="id" name="new_id_2" />
3) add the above to either:
frameworks/base/core/res/res/values/symbols.xml
or
frameworks/base/core/res/res/values/public.xml
make update-api
make
3. From
(1)
frameworks\base\core\res\res\values\string.xml下添加
同时注意 frameworks\base\core\res\res\values\symbols.xml(android4.2)或者public.xml(android4.2以下)下也需要相应的添加
(2)调用的地方 com.android.internal.R.string.xxx
编译步骤
步骤1.编译frameworks/base/res,在out/target/product/X设备名X/system/framework/目录下生成framework-res.apk
步骤2.编译frameworks/base/,在out同样目录下生成framework.jar包(不能忽略,不然步骤3编译报错)
步骤3.编译frameworks/base/policy,在同样目录下生成policy.jar包
亲测方案3在KitKat上成功。
在4.4上,添加layout文件后,也是在
frameworks/base/core/res/res/values/symbols.xml
最后照着样子添加即可,包括layout文件中的id,如果要使用,也需要在symbols.xml中列出。
最后,当frameworks/base/core/res和frameworks/base/ 都mmm编译过后,刷新eclispe中的project, 就没有出错信息了。
1. Depending on what version of JB you are using you should either use the public.xml or symbols.xml to add your new id's.
Adding new id's to public.xml was abandoned in this commit:http://git.omapzoom.org/?p=platform/frameworks/base.git;a=commitdiff;h=9d9ece3c1e16001b63244459cdf4b428f4272d2e
An easy way to find the symbols is:
1) add the new id to your xml
2) run "make -j4 2>&1 | sed -n -f frameworks/base/core/res/MakeJavaSymbols.sed | sort -u"
will generate a output like this:
<java-symbol type="id" name="new_id_1" />
<java-symbol type="id" name="new_id_2" />
3) add the above to either:
frameworks/base/core/res/res/values/symbols.xml
or
frameworks/base/core/res/res/values/public.xml
2.
make frameworkmake update-api
make
3. From
here
(1)frameworks\base\core\res\res\values\string.xml下添加
同时注意 frameworks\base\core\res\res\values\symbols.xml(android4.2)或者public.xml(android4.2以下)下也需要相应的添加
(2)调用的地方 com.android.internal.R.string.xxx
编译步骤
步骤1.编译frameworks/base/res,在out/target/product/X设备名X/system/framework/目录下生成framework-res.apk
步骤2.编译frameworks/base/,在out同样目录下生成framework.jar包(不能忽略,不然步骤3编译报错)
步骤3.编译frameworks/base/policy,在同样目录下生成policy.jar包
亲测方案3在KitKat上成功。
在4.4上,添加layout文件后,也是在
frameworks/base/core/res/res/values/symbols.xml
最后照着样子添加即可,包括layout文件中的id,如果要使用,也需要在symbols.xml中列出。
最后,当frameworks/base/core/res和frameworks/base/ 都mmm编译过后,刷新eclispe中的project, 就没有出错信息了。
相关文章推荐
- Android 重新编译frameworks/base/core/res资源文件
- 在android源码framework里添加的资源文件!
- android 修改framework下资源文件后如何编译
- android 修改framework下资源文件后如何编译,androidframework
- android 修改framework下资源文件后如何编译
- android framework中添加私有资源文件
- android 修改了framework 资源文件后的编译方法
- android反编译之获得res下的xml配置文件及图片等资源
- Android framework中修改或者添加资源无变化或编译不通过问题详解
- Android Framework中添加AIDL文件编译
- android 修改framework下资源文件后如何编译
- Android 修改framework下资源文件后如何编译
- android反编译之获得res下的xml配置文件及图片等资源
- android 修改framework下资源文件后如何编译
- android 修改framework下资源文件后如何编译
- Android framework中修改或者添加资源无变化或编译不通过问题详解
- Android添加资源文件编译,R文件未重新生成解决办法
- android 修改framework下资源文件后如何编译
- 利用makefile将添加的资源文件编译到Android系统中
- android 修改framework下资源文件后如何编译