Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: Unable to instantiate application

Tags:

I renamed my package and now I get this strange error:

Unable to instantiate application app.MyApplication: java.lang.ClassNotFoundException:  app.MyApplication in loaderdalvik.system.PathClassLoader 

The MyApplication class is in Application/app. The Manifest says:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"   xmlns:tools="http://schemas.android.com/tools"   package="Application"> 
<application      android:label="AGG"     android:name="app.MyApplication"... 

I tried restart, clean built. Is doesn't work on an emulator nor on a real device.

What on Earth is going on?

like image 248
GuyFawkes Avatar asked May 02 '11 15:05

GuyFawkes


2 Answers

Let's assume, that your projects base package is really Application, as you've stated it in the manifest.

If your MyApplication class is inside this package (the package declaration of the class is package Application;), then the application element in your androidManifest.xml should look like

<application android:name=".MyApplication" [...] 

If this MyApplication class is inside the Application.app package (package Application.app;), then in the manifest you should write:

<application android:name=".app.MyApplication" [...] 

If you didn't extend the android.app.Application (you don't have a MyApplication extends android.app.Application class), just wanted to set a name to your application, remove it this attribute, since it says to the compiler that there is an Application extension that should be instantiated instead of the default android.app.Application.

And finally, if the first assumption is wrong, and you've changed for any reason the package declaration in your androidManifest's manifest element, undo it or update your classes to be in that package.

like image 148
rekaszeru Avatar answered Oct 20 '22 18:10

rekaszeru


For me, the issue was with instant-run. Disabling it solved the issue.

Will update if I find a solution for re-enabling and making it work.

like image 29
Umang Avatar answered Oct 20 '22 18:10

Umang