ClassNotFound类存在并且在Manifest中声明时出现异常



自从将现有项目导入到新工作区以来,我每次都会收到这个错误。

02-12 11:30:58.140: E/AndroidRuntime(16605): FATAL EXCEPTION: main
02-12 11:30:58.140: E/AndroidRuntime(16605): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.fttech.full_version_hippos/com.fttech.hh.MenuActivity}: java.lang.ClassNotFoundException: com.fttech.hh.MenuActivity in loader dalvik.system.PathClassLoader[/data/app/com.fttech.hh-1.apk]
02-12 11:30:58.140: E/AndroidRuntime(16605):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1739)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at android.app.ActivityThread.access$500(ActivityThread.java:122)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at android.os.Handler.dispatchMessage(Handler.java:99)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at android.os.Looper.loop(Looper.java:132)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at android.app.ActivityThread.main(ActivityThread.java:4123)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at java.lang.reflect.Method.invokeNative(Native Method)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at java.lang.reflect.Method.invoke(Method.java:491)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at dalvik.system.NativeStart.main(Native Method)
02-12 11:30:58.140: E/AndroidRuntime(16605): Caused by: java.lang.ClassNotFoundException: com.fttech.hh.MenuActivity in loader dalvik.system.PathClassLoader[/data/app/com.fttech.hh-1.apk]
02-12 11:30:58.140: E/AndroidRuntime(16605):    at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:251)
02-12 11:30:58.140: E/AndroidRuntime(16605):    at java.lang.ClassLoader.loadClass(ClassLoader.java:540)

这是我的清单,其他所有东西都在我的源文件夹中的正确包中。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fttech.hh"
android:versionCode="1"
android:versionName="1.0" >
 <uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
   <application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
    <activity android:name=".MenuActivity"
              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=".Arcade_MainGame"></activity>
    <activity android:name=".MainGame"></activity>
    <activity android:name=".MyPreferenceClass"></activity>
    <activity android:name=".unlockable"></activity>

</application>
</manifest>

有人看到我做错了什么吗?

好的,它在清单中。MenuActivity是否具有正确的package?.apk中是否存在MenuActivity?

您在使用Google play服务吗?如果您正在使用最新的Google play服务,并且面临找不到类的异常,则更新应用程序类

步骤1:

public class MyAppCtx extends Application {
  @Override
  protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
  }
}

步骤2:更新的build.gradle文件:

defaultConfig {
  multiDexEnabled true
}

步骤3:

dependencies {
  compile 'com.android.support:multidex:1.0.0'
} 

试试这个,祝你好运!

我的实时应用程序在没有任何代码更改的情况下开始抛出"未找到活动异常"。上面接受的答案给了我一些线索,说明我的环境已经被破坏了。下面的链接解释了破坏我的环境/项目的ADT更改。

我曾经禁止导出"Android私人库"来使用ProGuard。类路径配置的更改修复了这个问题,即标记要导出的"Android私有库"容器。

希望这能帮助到别人-

http://calyx.hr/weird-runtime-error-after-upgrading-android-development-tools-to-version-22/

最新更新