Android中的"Unable to start activity ComponentInfo"

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

Android中的"Unable to start activity ComponentInfo"或者"Unable to instantiate activity ComponentInfo"的错误

最近在做一款音乐播放器的时候,然后在调试的过程中发现一直报这个错误"Unable to start activity ComponentInfo",从字面的意思看是无法启动某个activity组件,但是看了manifest文件,所有的activity组件都已经注册过了,为什么会报这种错误?后来发现原来是注册路径出了问题,最开始的代码是这样的:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.music"

android:versionCode="1"

android:versionName="1.0">

<uses-sdk android:minSdkVersion="5" />

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".MainActivity">

<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

</application>

</manifest>

对于MainActivity这个组件,程序启动的时候寻找它的时候,根据包的路径"package="com.music"加上".MainActivity"就是

"com.music.MainActivity",但是在工程中MainActivity是在"com.music.activity"这个包下,显然路径就是错的,因此会报无法找到某个组件的错误。因此更改组件的注册路径就可以解决这个问题:

可以将<activity android:name=".MainActivity">

改成其相对路径www.2cto.com

<activity android:name=".activity.MainActivity">

或者也可以直接用绝对路径

<activity android:name="com.music.activity.MainActivity">

注意:在注册组件的时候,如果在名称前面加了点'.',则表示该组件的路径是package的路径加上组件名,比如package='com.music',<activity android:name='.MainActivity'></activity>,则其完整路径为'com.music.MainActivity'。

如果没有加点,则表示绝对路径,如<activity android:name="com.music.activity.MainActivity">。

有一种特殊情况是,如果要注册的activity在当前package的根目录下,则前面的点'.'可写可不写。但是如果是在package包的子包下,如package='com.music',而MainActivity的绝对路径为'com.music.activity.MainActivity',则

<activity android:name=".activity.MainActivity">中的".activity.MainActivity"前面的点'.'不能省略。

作者 海子

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

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

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

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

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

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

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

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

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

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

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

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

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

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