由于最近做项目时需要增加新功能,需要在 \frameworks\base\core\res\res\layout 下新增一个layout 的 xml 文件,当在 frameworks\base 下的Java class中使用此layout时:
final LayoutInflater inflater = LayoutInflater.from(mContext);
View mView = inflater.inflate(R.layout.hall_view, null);
时,编译时,报错,如下图:
类似这样 未定义 的错误,解决办法如下:
需在 \frameworks\base\core\res\res\values\symbols.xml 中按照要求格式添加 layout 的定义,比如:
<java-symbol type="layout" name="hall_view" />
即可,编译通过。
同理:当在 \frameworks\base\core\res\res\layout 下新增的layout里面的 控件的id 也需要在 symbols.xml 中定义噢。还有 \frameworks\base\core\res\res\ 下的 图片资源、strings 资源、xml 、style 、dimen 等等都需要在 symbols.xml 中定义噢。