android编译找不到资源id的问题

android编译找不到资源id的问题

一般情况下找不到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;


下面是延伸阅读


比较android4.1和之前的版本。

4.1之前的版本,添加一个资源(图片,xml文件),编译时会自动将生成id并添加到public.xml文件里

但是4.1以及之后的版本,编译不会自动生成id,需要程序员自己将id添加到public.xml文件里。


举个例子

添加了图片,那么就添加

 

布局文件(layout)

 


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

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

这个我今天遇到的一个问题。后来研究了一下源码。发现这个区别。希望类似的错误止于此!



--开源嘛!知识属于所有人!


你可能感兴趣的:(android)