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

原创 2016年08月31日 10:35:54

一、般情况下找不到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" />
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android5.0.1源码编译,android5.1.1源码编译遇到的编译错误如何解决?

On Ubuntu14.04 java version "1.7.0_95" OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95...
  • eqiang8271
  • eqiang8271
  • 2016年04月06日 13:20
  • 1460

Android5.0 源码编译

我的源码不是repo下来的,而是从百度盘down下来的。 链接:http://pan.baidu.com/s/1qXXw6h2 密码:3qaa 我都是在root情况下操作 1、配置jdk ...
  • wo_sxn
  • wo_sxn
  • 2016年03月27日 10:35
  • 827

Android 4.1源码编译找不到资源文件解决办法

http://tech.cncms.com/shouji/android/97291.html   核心提示: 在Android framework中修改资源文件时,在Android 4.0之前,...
  • u012587637
  • u012587637
  • 2015年03月07日 15:41
  • 918

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

android编译找不到资源id的问题 一般情况下找不到id有以下几个原因: 1、id不匹配 2、xml未编译 3、编译顺序有问题 4、未import正确的资源包 在framework...
  • kaiyoushiwo007
  • kaiyoushiwo007
  • 2012年12月21日 16:09
  • 12035

Android 4.1源码编译找不到资源文件解决办法

我们在Android framework中修改资源文件时,在Android 4.0之前,都是直接在sourcecode/frameworks/base/core/res/res下面添加对应的资源文件,...
  • yihongyuelan
  • yihongyuelan
  • 2013年02月22日 13:35
  • 11287

android 5.0新增的控件总结

5.0中新添加了很多控件,为了便于学习和总结这里我给大家归纳了一下: 使用方式:builde.gride文件中添加下面的依赖, compile 'com.android.support:design:...
  • qq379454816
  • qq379454816
  • 2016年05月23日 17:35
  • 5856

android5.0源码编译错误小结

make: *** No rule to make target `out/host/linux-x86/obj/STATIC_LIBRARIES/libgtest_host_intermediate...
  • zero9988
  • zero9988
  • 2016年08月20日 15:35
  • 1068

android apk编译时可以找到的资源,但在运行时却找不到出错Resources$NotFoundException

转载自:http://www.devdiv.com/home.php?mod=space&uid=258059&do=blog&id=11973 在android开发中会用一些资源,这些资源以不同...
  • fulinwsuafcie
  • fulinwsuafcie
  • 2015年09月10日 18:07
  • 4087

TensorFlow 1.0源码编译安装

CUDA/cudnn安装pythonTF源码下载bazel安装bazel是通过自行在github上下载release的zip源码包然后编译,将生成的二进制文件拷贝到PATH路径上即可。 注意:ten...
  • jiangbo1017
  • jiangbo1017
  • 2017年07月04日 11:38
  • 661

使用NDK交叉编译ffmpeg+libx264找不到libx264的解决方法

使用NDK交叉编译ffmpeg+libx264 1,编译libx264 wget http://download.videolan.org/pub/x264/snapshots/last_x264...
  • zangcf
  • zangcf
  • 2014年03月26日 00:18
  • 2295
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android5.0以后 framework 添加资源 编译 id can not find symbol问题
举报原因:
原因补充:

(最多只允许输入30个字)