Android 加了自定义Application后报错 Unable to instantiate activity ComponentInfo ClassNotFoundException

在Android自定义一个类继承集成Application后,并在AndroidManifest.xml里面配置了application的name属性为该类名称后报错:

  Unable to instantiate activity ComponentInfo ClassNotFoundException,应用程序无法启动,找不到首要启动activity。

在网上搜索了很多,最终找到了解决办法:

https://www.jianshu.com/p/dd90d7e7c691

  解决办法:

1、在build.gradle(app)下面加了multiDexEnabled true

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

2、让自定义的application继承MultiDexApplication

import android.app.Application;
import android.support.multidex.MultiDexApplication; import com.turuiinfo.www.ywairport.utils.MyExceptionHandler; public class BaseApplication extends MultiDexApplication { /*在Application创建的时候调用,一般用于初始化一些东西,如全局的对象,环境的配置等*/
@Override
public void onCreate() {
super.onCreate();
/*MyExceptionHandler.getInstance().init(getApplicationContext());*/
} }

最终成功解决报错问题

 

上一篇:android异常Unable to instantiate activity ComponentInfo解决方法


下一篇:Ioc:The basic pattern for integrating Autofac into your application