关闭

android5.0以后 framework 添加资源 编译 id can not find symbol问题

标签: androidframework编译id
578人阅读 评论(0) 收藏 举报
分类:

一、般情况下找不到id有以下几个原因:

1、id不匹配

2、xml未编译

3、编译顺序有问题

4、未import正确的资源包

二、在frameworks/base/core/res/res下编译生成的资源文件保存在out/target/common/R/com/android/internal/R.java

  所以先在R.java内看有没有你的id,然后检查源代码有没有:import com.android.internal.R;

三、下面是延伸阅读

比较android5.0和之前的版本。
5.0之前的版本,添加一个资源(图片,xml文件),编译时会自动将生成id并添加到public.xml文件里
但是5.0以及之后的版本,编译不会自动生成id,需要程序员自己将id添加到public.xml文件里。

举个例子
添加字符串 (string)
在string.xml里面添加

<string name="location_allow_access_dialog_body">In a previous version of Android</string>

在symbol.xml里面添加

<java-symbol type="string" name="location_allow_access_dialog_body" />

添加了图片,那么就添加

 <java-symbol type="drawable" name="play_indicator_stop" />

布局文件(layout)

 <java-symbol type="layout" name="select_dialog" />

下面这个要引起重视,之前我以为,若添加了布局文件,那么在布局文件里面类似

<ImageView android:id="@+id/play_indicator"

这样添加的id就不需要再往public.xml里面添加了。事实证明仍然需要添加,如下

  <java-symbol type="id" name="play_indicator" />
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13208次
    • 积分:316
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    最新评论