您的位置:首页 > 移动开发 > Android开发

Android framework/base/core/res 中添加资源文件编译

2014-06-04 20:20 441 查看
最近自己做Multi_window项目,需要添加一些图片和布局文件,上网搜了一通,但是貌似没有合适KitKat的,于是总结分享下:

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 framework

make 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, 就没有出错信息了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: