我有一个项目工作正常,现在每当我尝试构建/运行时,我得到以下异常:
06-08 18:11:04.083: E/AndroidRuntime(27388): FATAL EXCEPTION: main
06-08 18:11:04.083: E/AndroidRuntime(27388): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.kicker.android.kickstart/com.kicker.android.kickstart.HomeActivity}: java.lang.ClassNotFoundException: Didn't find class "com.kicker.android.kickstart.HomeActivity" on path: /data/app/com.kicker.android.kickstart-1.apk
06-08 18:11:04.083: E/AndroidRuntime(27388): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
06-08 18:11:04.083: E/AndroidRuntime(27388): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
06-08 18:11:04.083: E/AndroidRuntime(27388): at android.app.ActivityThread.access$600(ActivityThread.java:141)
06-08 18:11:04.083: E/AndroidRuntime(27388): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
06-08 18:11:04.083: E/AndroidRuntime(27388): at android.os.Handler.dispatchMessage(Handler.java:99)
06-08 18:11:04.083: E/AndroidRuntime(27388): at android.os.Looper.loop(Looper.java:137)
06-08 18:11:04.083: E/AndroidRuntime(27388): at android.app.ActivityThread.main(ActivityThread.java:5041)
06-08 18:11:04.083: E/AndroidRuntime(27388): at java.lang.reflect.Method.invokeNative(Native Method)
06-08 18:11:04.083: E/AndroidRuntime(27388): at java.lang.reflect.Method.invoke(Method.java:511)
06-08 18:11:04.083: E/AndroidRuntime(27388): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-08 18:11:04.083: E/AndroidRuntime(27388): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-08 18:11:04.083: E/AndroidRuntime(27388): at dalvik.system.NativeStart.main(Native Method)
06-08 18:11:04.083: E/AndroidRuntime(27388): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.kicker.android.kickstart.HomeActivity" on path: /data/app/com.kicker.android.kickstart-1.apk
06-08 18:11:04.083: E/AndroidRuntime(27388): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
06-08 18:11:04.083: E/AndroidRuntime(27388): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
06-08 18:11:04.083: E/AndroidRuntime(27388): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
06-08 18:11:04.083: E/AndroidRuntime(27388): at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
06-08 18:11:04.083: E/AndroidRuntime(27388): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
06-08 18:11:04.083: E/AndroidRuntime(27388): ... 11 more
我的清单文件的相关部分是:
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/KickStartTheme"
android:uiOptions="splitActionBarWhenNarrow"
android:hardwareAccelerated="false" >
<activity
android:name="com.kicker.android.kickstart.HomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我知道这个问题通常是清单中的一个类型,其中主要活动名称不正确。我已经仔细检查了那部分。
这是非常奇怪的部分,我一直在两台不同的计算机上开发这个应用程序。如果我在计算机“A”上构建,并启动应用程序,它工作正常。如果我从计算机“A”导出项目并将其导入计算机“B”上的干净工作区而不进行任何其他更改,我将在启动应用程序时收到上述错误。
在计算机“B”上导致这种情况的原因是什么?
答案 0 :(得分:0)
将您的活动命名为“.MainActivity”,如下所示,您应该对自己感兴趣。
<activity
android:name=".HomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 1 :(得分:0)
如果你在ADT v 22上运行你必须安装android sdk build-tools和Android SDK Platform-tools
打开SDK管理器 - 工具 - 安装“android sdk build-tools”和“Android SDK Platform-tools”
在安装android sdk build-tools和Android SDK Platform-tools之后,将ADT从v.21升级到v.22后出现同样的错误,一切正常。
(在AVD Manager上查看)