Android Studio更新后的Java.lang.ClassNotFoundException

我从稳定的频道更新到Android Studio 2.1。 只要我这样做,我得到了我的login类,这是长期声明在清单中的ClassNotFoundException。 在更新之前,我的应用程序正在编译。

com.myapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.myapp, PID: 29605 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.myapp/com.myapp.Login}: java.lang.ClassNotFoundException: Didn't find class "com.myapp.Login" on path: DexPathList[[zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3023) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3294) at android.app.ActivityThread.access$1000(ActivityThread.java:210) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1704) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:6938) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.myapp.Login" on path: DexPathList[[zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.app.Instrumentation.newActivity(Instrumentation.java:1094) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3013) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3294) at android.app.ActivityThread.access$1000(ActivityThread.java:210) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1704) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:6938) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) Suppressed: java.lang.ClassNotFoundException: com.myapp.Login at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 13 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

这是我的gradle.build

 apply plugin: 'com.android.application' apply plugin: 'com.google.gms.google-services' android { compileSdkVersion 'Google Inc.:Google APIs:23' buildToolsVersion "22.0.1" defaultConfig { applicationId "com.myapp" minSdkVersion 14 targetSdkVersion 22 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { // compile files('libs/smack-core-4.0.7.jar') compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.google.android.gms:play-services:7.8.0' compile 'com.google.maps.android:android-maps-utils:0.4+' } 

到目前为止,我已经尝试1)清理和重build项目2)删除生成文件夹和重build项目/重新启动Android Studio 3)切换到加拿大通道以及开发通道和更新4)检查和取消选中设置离线模式显然这是一个错误,但有没有解决这个问题? 我怎样才能扭转最近的更新? 任何帮助深表感谢。

Solutions Collecting From Web of "Android Studio更新后的Java.lang.ClassNotFoundException"

尝试这个:

清除应用程序cache

清除应用程序data

Uninstall应用程序

再次Run/Debug

希望它的作品!

更新至Android Studio 2.1版后,我们遇到类似的错误。 现在在应用程序启动时不能find一个很久以前添加的类。 只有Android 5.1和5.1.1才会发生 。 真的很奇怪的崩溃!

解决scheme是使“ 即时运行 ”解决了棒棒糖上的问题。

我遇到了这个错误,并看了一些SO线程,各种资源,并检查到Android开发IRC。 答案似乎有一个趋势:

Gradle / Android Studio一般:

清理版本,重置Android Studiocaching,卸载/重新安装android studio,离开Android Studio,并在2小时内回来,重新启动计算机。

引用这个类

它是否通过清单正确列出? 怎么样gradleconfiguration?

通过IDE加载类(虽然这似乎大部分与日食有关)

升级到ADT 22后,库不会再添加到APK中

Android Activity ClassNotFoundException – 尝试了一切

https://www.youtube.com/watch?v=3vqcGhEPHdo

我的解决scheme:命名冲突?

我通过纯粹的绝望发现,通过改变我的class级名称ManifestMyCoolManifest或类似的东西,我不再有问题。 由于你的类名是Login ,所以重命名类将解决你的问题。

尝试清理gradlecaching并通过运行terminal中的每一行来构build:

 gradlew --stop gradlew cleanBuildCache gradlew clean 

在这里你去:清理项目,并卸载现有的应用程序,再次运行。

你必须提供:

 compileSdkVersion '22' buildToolsVersion "22.0.1" 

作为你的targetSdkVersion 22

对我来说,上述任何工作。 直到我禁用“ 即时运行 ”到热插拔代码。

Android工作室版本: 2.3.3最新( 在回答date

Androidtesting设备: 5.1.1,6.0.1

禁用即时运行 。 在Android工作室中,获取首选项 – >在search栏中编写“ 即时运行 ” – >取消选中“ 启用即时运行以热插拔代码…