I renamed my package and now I get this strange error:
Unable to instantiate application
app.MyApplication: java.lan
Removing these lines worked for me:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Update:
The reason behind this issue is that i have not installed JAVA 8 on my PC
Should package="Application"
be package="MyApplication"
?
make sure all references in your manifest have been updated to reflect your new package name.
You need to correct the android:name
attribute. Same problem mentioned at ClassNotFoundException after changing app's name in Android
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.
In my case, I've change JAVA compiler compliance level from 1.7 to 1.6 and the problem was solved.