Java android中的清单出错(错误:无法实例化活动组件信息)
我正在编写一个Android应用程序,突然它从清单中出错,应用程序不再出现了! 我搜索了很多,尝试了很多东西,但我不知道问题出在哪里。我把舱单类放在这里。 有人能帮我吗? 提前谢谢Java android中的清单出错(错误:无法实例化活动组件信息),java,android,android-manifest,Java,Android,Android Manifest,我正在编写一个Android应用程序,突然它从清单中出错,应用程序不再出现了! 我搜索了很多,尝试了很多东西,但我不知道问题出在哪里。我把舱单类放在这里。 有人能帮我吗? 提前谢谢 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ruby" android:version
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.ruby"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="Activity.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
以下是日志:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
删除出现在Main Activity、ToolsActivity和AboutActivity前面的
Activity
单词,而不是:
android:name="Activity.MainActivity"
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
使用
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
工具性和触觉性也是如此
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
来自android的:名称:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
实现活动(活动的子类)的类的名称。属性值应该是一个完全限定的类名(例如,“com.example.project.ExtercurialActivity”)但是,作为简写,如果名称的第一个字符是句点(例如,“.ExtracurialActivity”),则会将其附加到元素中指定的包名称中。
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
编辑:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
好的,问题出在你的包名上。您的所有源文件都驻留在名为Activity的包中,因此您有Activity.MainActivity等。但是……在清单中,您将包指定为com.example.ruby
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
按照惯例,包名的格式应该是com.companyname.applicationname,在您的示例中是com.example.ruby。所以你要做的是:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
Activity
,如我在原始帖子中所述)package Activity;
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
package com.example.ruby;
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
阅读有关包的更多信息。对于名称属性的活动标记,您应该提供完整的文件路径,或者如果是相同的包,则提供相对于包文件路径的路径
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ToolsActivity" />
<activity android:name=".AboutActivity" />
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
我相信您已经在活动标签上的android:name属性中添加了活动:
<activity
android:name="Activity.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
将android:name更改为“MainActivity”
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
如果活动的名称与manifest标记的package属性中指定的不在同一个包中,请按如下方式指定包:“com.example.MainActivity”
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
Jonathan如果这是你的全部清单文件,你就少了一个
</manifest>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
底部的end标记。Exception表示,
ClassNotFoundException
和IDicate未找到具有包名称的Main活动,因此进行了一些更改,现在可以工作了:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ruby.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity.ToolsActivity" />
<activity android:name="Activity.AboutActivity" />
</application>
</manifest>
您从哪里得到错误信息?哪一行?你有Activity
pacage name吗?错误到底是什么?@Rahl_Pryde我不知道,但错误是:无法实例化Activity componentinfo如果确实是这样的话(并不是因为它在复制粘贴过程中消失),那么很明显@Yjay:)我忘了在这里复制结束行,但不,这不是问题。我是否可以给你发电子邮件,你检查一下我的项目?不,但是把它放在某个地方,并提供一个下载链接。您是否删除了活动
?还是个错误?@Melquides是的,我做了,但还是个错误!这是[password is ruby]是您在com.example.ruby包中的主要活动,这就是问题所在。您的活动位于名为Activity
的包中,在清单中,您的包名为com.example.ruby。查看有关如何修复它的更新答案。