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

  次阅读 作者:智能小宝 来源:互联网 2016-01-19 12:20 我要评论(0)

Android framework中修改资源文件时,在Android 4.0之前,都是直接在sourcecode/frameworks/base/core/res/res下面添加对应的资源文件,然后编译 framework-res即可,但是这种情况到了Android 4.1就有改变了。按照以前的方法在编译的时候却会报错,提示找不到引用的资源文件,一般情况下找不到资源文件有以下几个原因:

(1). 资源id写错了,导致id不匹配;

(2). 未编译framework-res,从而导致无法找到资源文件; 比如你在framework中添加了一张图片,但你在编译framework-res之前去编译引用该资源的SystemUI,那肯定是找不到的。

(3). 未import正确的资源包; 在frameworks/base/core/res/res下编译生成的资源文件保存在out/target/common/R/com /android/internal/R.java 可以先在该R.java内看有没有你的资源id,然后检查源代码有没有:

import com.android.internal.R;

(4). 没有修改frameworks/base/core/res/res/values/public.xml;

第四点是Android 4.1才需要做的,在Android 4.1之前,我们添加一个资源文件,编译时会自动添加到public.xml中,但到了Android 4.1却不会了,需要手动添加,比如:

添加了一个布局文件,则需要在public.xml中添加如下代码

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

添加了一个字符串,则需要在public.xml中添加如下代码

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

添加了一张图片,则需要在public.xml中添加如下代码

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

在布局文件中新增了一个控件的id,则需要在public.xml中添加如下代码

[html] view plaincopy

<java-symbol type="id" name="mytextView" />

新添加的资源仿照public.xml中原有的方式加上即可。

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...