My app is running well on Lollipop devices but it keep crashing on prior to version Lollipop. I have simply implemented a banner add in my application with the following code th
After expanding more than a hour on problem, I found that I have to do some modification in MyApplication
Class like this:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// register with Active Android
ActiveAndroid.initialize(this);
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
I have overriden the attachbaseContext
method and all works fine now.
reduce your minSdkversion to that version you want to give support
in gradle file of your project
As below
minSdkVersion 10
+) Building Apps with Over 65K Method will cause this Error.
+) When your application and the libraries it references reach a certain size ( DEX file of your application can have total number of methods upto 65,536 including Android framework methods, library methods, and methods in your own code), you encounter build errors that indicate your app has reached a limit of the Android app build architecture.
+) To resolve it, include Multidex Configuration in your build.gradle like the highlighted one in picture, along with this override the attachBaseContext(Context base) method in your Application class with the below content.
public class YourParentApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
Add this in you Androidmanifest.xml:
<application
android:name=".YourParentApplication"
android:allowBackup="true"
android:icon="@drawable/radiius_logo"
android:label="@string/app_name"
android:largeHeap="true"
android:theme="@style/MyMaterialTheme">
For more information about Multidex refer these site: http://developer.android.com/tools/building/multidex.html
How to enable multidexing with the new Android Multidex support library
You should lower the API in your AndroidManifest.xml Lollipop is API 21.
Check this out: API Levels Example:
defaultConfig {
applicationId "com.package.name"
minSdkVersion 11
targetSdkVersion 21
versionCode 1
versionName "1.0"
}