140

我将我的 Android Studio 更新到了 2.0 版。但是我有一个问题,我不知道为什么?

重要的错误信息:

无法实例化应用程序 com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication

找了很久,没找到正确的答案,可以看链接

同时当我点击File->Project structure 它显示这个错误:

在此处输入图像描述

库中的某个地方有什么问题吗?当 gradle 构建程序时,库没有为当前程序完全加载。Android Studio 2.0版有问题吗?

当我使用 Android studio 1.4.0 构建和运行程序时。这对我来说可以!但是当我使用 Android Studio 2.0 时,问题就出现了!

为什么?请问你能帮帮我吗?

这是详细的错误日志:

11-28 11:57:00.489 19890-19890/com.eallcn.rentagent.debug E/AndroidRuntime:致命异常:主进程:com.eallcn.rentagent.debug,PID:19890 java.lang.RuntimeException:无法实例化应用程序com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication 在 android.app.LoadedApk.makeApplication(LoadedApk.java:537) 在 android.app .ActivityThread.handleBindApplication(ActivityThread.java:4586) 在 android.app.ActivityThread.access$1800(ActivityThread.java:139)
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
在 android.os.Handler.dispatchMessage(Handler.java:102)
在 android.os.Looper.loop(Looper.java:136)
在 android.app.ActivityThread.main(ActivityThread.java:5314)
在 java.lang。 reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) at com.
dalvik.system.NativeStart.main(Native Method)的android.internal.os.ZygoteInit.main(ZygoteInit.java:680 )
引起:java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication
在 com.android.tools.fd.runtime.BootstrapApplication.createRealApplication(BootstrapApplication.java:167) 在 com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext(BootstrapApplication.java:179) 在 android.app.Application.attach (Application.java:194)
在 android.app.Instrumentation.newApplication(Instrumentation.java:992)
在 android.app.Instrumentation.newApplication(Instrumentation.java:976)
在 android.app.LoadedApk.makeApplication(LoadedApk.java:第532章)
在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4586) 在 android.app.ActivityThread.access$1800(ActivityThread.java:139) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316) 在 android .os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app。ActivityThread.main(ActivityThread.java:5314) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os。 ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 位于 dalvik.system.NativeStart 的 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:680)。main(Native Method) 引起:java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:251) at java .lang.Class.forName(Class.java:216) 在 com.android.tools.fd.runtime.BootstrapApplication.createRealApplication(BootstrapApplication.java:155) 在 com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext(BootstrapApplication.java:179) 在 android.app.Application.attach(Application.java:194) 在 android.app.Instrumentation.newApplication(Instrumentation.java :992) 在 android.app.LoadedApk 的 android.app.Instrumentation.newApplication(Instrumentation.java:976)。makeApplication(LoadedApk.java:532) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4586) 在 android.app.ActivityThread.access$1800(ActivityThread.java:139) 在 android.app.ActivityThread$H.handleMessage( ActivityThread.java:1316) 在 android.os.Looper 的 android.os.Handler.dispatchMessage(Handler.java:102)。在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method. java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:680) 在 dalvik.system.NativeStart.main(Native Method) 引起:java.lang.NoClassDefFoundError: com/eallcn/rentagent/MyDebugEallApplication at java.lang.Class.classForName(Native Method) at java.lang.Class.forName (Class.java:251) 在 java.lang.Class.forName(Class.java:216) 在 com.android.tools.fd.runtime.BootstrapApplication.createRealApplication(BootstrapApplication.java:155) 在 com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext(BootstrapApplication.java:179) 在 android.app.Application .attach(Application.java:194) 在 android.app.Instrumentation.newApplication(Instrumentation.java:992) 在 android.app.Instrumentation.newApplication(Instrumentation.java:976) 在 android.app.LoadedApk.makeApplication(LoadedApk.java:532) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4586) 在 android。 app.ActivityThread.access$1800(ActivityThread.java:139) 在 android.app.ActivityThread$H。handleMessage(ActivityThread.java:1316) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java :5314) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:680) 在 dalvik.system.NativeStart.main (本机方法)原因:java.lang.ClassNotFoundException:在路径上找不到类“com.eallcn.rentagent.MyDebugEallApplication”:DexPathList [[zip file“/data/app/com.eallcn.rentagent.debug-1 .apk"],nativeLibraryDirectories=[/data/app-lib/com.eallcn.rentagent.debug-1, /vendor/lib, /system/lib, /data/datalib]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56 ) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:457) 在 java.lang.Class 的 java.lang.ClassLoader.loadClass(ClassLoader.java:497)。com.android.tools.fd.runtime.BootstrapApplication.createRealApplication( BootstrapApplication.java:155) 在 com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext(BootstrapApplication.java:179) 在 android.app。Application.attach(Application.java:194) 在 android.app.Instrumentation.newApplication(Instrumentation.java:992) 在 android.app.Instrumentation.newApplication(Instrumentation.java:976) 在 android.app.LoadedApk.makeApplication(LoadedApk .java:532)在 android.app 的 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4586)。ActivityThread.access$1800(ActivityThread.java:139) 在 android.os.Looper 的 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)。在 java.lang.reflect.Method 的 android.app.ActivityThread.main(ActivityThread.java:5314) 的循环(Looper.java:136)。在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 在 com.android.internal 的 java.lang.reflect.Method.invoke(Method.java:515) 的 invokeNative(Native Method)。 os.ZygoteInit.main(ZygoteInit.java:680) 在 dalvik.system.NativeStart.main(Native Method)515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:680) 在 dalvik.system.NativeStart.main (本机方法)515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:680) 在 dalvik.system.NativeStart.main (本机方法)第680章)第680章)

 

4

18 回答 18

313

在 Android Studio 中禁用 Instant Run 选项。说明在Android Studio Instant Run 文档中。

Instant Run 尝试对您的代码进行热交换;这会导致应用程序类被移动。

要禁用即时运行转到文件 --> 设置 --> 构建、执行、部署 --> 即时运行 ---> 取消选中“启用即时运行”

于 2016-01-14T08:32:13.933 回答
22

尝试使用 2.0 后我遇到了同样的错误。

我通过还原一些 gradle 更改来解决它:

1/3:

改变:

classpath 'com.android.tools.build:gradle:2.0.0-alpha1'

经过:

classpath 'com.android.tools.build:gradle:1.2.3'

2/3:

改变:

buildToolsVersion '23.0.2'

经过:

buildToolsVersion "21.1.2"

3/3:(<project folder>/.idea/gradle.xml

和:

<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.8" />

经过:

<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.4" />

我不知道错误的确切来源是哪一行,但是通过这三个更改,它得到了解决。

希望它可以帮助你:)

于 2015-11-28T17:32:34.010 回答
18

我有同样的错误。

我通过清理项目解决了它( Build > Clean Project )

于 2016-05-31T18:46:31.223 回答
9

只需转到 Android Studio 菜单 - Build --> Rebuild Project。

于 2016-06-14T09:22:14.317 回答
5

gradle-2.14.1-all通过将 gradle-wrapper.properties 更新为,并清理/重建项目,我能够摆脱这个错误。然后它运行良好。不需要其他更改(如上述答案中建议的那样)...

于 2015-12-21T00:19:51.370 回答
4

更改为

classpath 'com.android.tools.build:gradle:2.0.0-alpha6'

固定问题

于 2016-01-19T14:55:24.107 回答
3

我在稳定频道中使用 Android 2.0 时也遇到了这个错误。

我做了什么?
- 我已经在设备上安装了旧版本的应用程序(它是使用旧版本的 Studio 构建的),我试图通过在设备上运行新的应用程序来替换它。
我只是在运行新应用程序之前完全卸载了旧版本,这个技巧奏效了。

于 2016-04-10T13:52:16.340 回答
2

更改classpath 'com.android.tools.build:gradle:2.1.2'classpath 'com.android.tools.build:gradle:2.1.0'解决我的问题。

于 2016-06-14T09:06:49.233 回答
2

我也遇到了同样的问题,我解决了。就我而言,这是由于全局类中的错误(整个应用程序上下文类),我的错误在于AndroidManifest.xml我已将应用程序类声明VolleyHelper为:-

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true" android:name=".VolleyHelper"
        android:theme="@style/AppTheme"> 

但在VolleyHelper.java我没有默认构造函数。VolleyHelper.java所以我在(应用程序类)中添加了默认构造函数。

于 2016-09-06T06:03:45.907 回答
2

如果您不想禁用即时运行,只需清理项目并重新运行即可。

于 2016-04-09T17:13:19.690 回答
2

只为那些想用最新的 gradle 插件版本更新 classPath 的人,在哪里可以找到最新的插件版本?

检查http://tools.android.com/tech-docs/new-build-system并更新您的 classPath。目前最新的是

 classpath 'com.android.tools.build:gradle:2.0.0'.

始终尝试使用最新的插件版本进行构建。

于 2016-02-10T12:02:14.127 回答
1

当您使用 .java 文件添加空白活动时,将发生此错误。因此,要首先解决此错误,您必须再次构建项目。然后运行它。解决了谢谢。

于 2016-08-22T16:48:55.403 回答
1

您还可以将其添加到您的 gradle 中,以防止在调试时制作 dex

debug {
    // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
    // to pre-dex each module and produce an APK that can be tested on
    // Android Lollipop without time consuming dex merging processes.
    minSdkVersion 21
}
于 2016-06-09T16:59:04.883 回答
1

在 OS 5.0 之前版本的某些 Android 设备中,我们收到错误消息:

引起:java.lang.ClassNotFoundException:找不到类“com.android.tools.fd.runtime.BootstrapApplication

我们必须禁用“即时运行”。

转到File> Settings> Built, Execution, Deployment>Instant Run

然后禁用该选项Enable Instant Run to hot swap code.

在此处输入图像描述

于 2016-12-01T17:16:35.710 回答
1

我只需要重新启动我的设备。不幸的是,先尝试了其他所有东西,所以浪费了几个小时。

于 2017-01-26T10:03:23.253 回答
1

无需禁用“即时运行”。
1.使用文件资源管理器转到项目的根目录
2.完成 Android Studio(AS)
3.删除(重新定位)“.gradle” 的文件夹内容
(以清除一些现金和旧工件)
4.在 res 文件夹中清除所有不适当的文件
5. 再次启动 AS
6.在模块的 build.gradle 中将“buildTypes { debug {minifyEnabled true”设置为 false
(看起来我的 proguard 文件中有错误,kek)

再次同步、编译和运行应用程序:/

于 2018-05-21T11:30:09.737 回答
1

如果您正在共享您的应用程序,那么另一个解决方案是

Android Studio --> Build --> Build APK

将弹出一个弹出窗口APK generated successfullyShow in Explorer将带您进入生成的 apk 文件夹。

于 2017-08-04T07:23:21.667 回答
-1

我刚刚将 Android Studio 更新到最新版本(2.0 Beta 5)。它改变自己classpath 'com.android.tools.build:gradle:2.0.0-beta5'并像魅力一样工作。

于 2016-02-18T09:58:43.433 回答