I am getting following error in Samsung note 2 in 4.4.2 , version. I also have tried with HTC One X+ 4.2.2. I think its pre-lollipop. Cause its working fine on Lollipop. any guess?
This is my gradle file
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion '22.0.1'
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
}
defaultConfig {
multiDexEnabled true
applicationId "com.example.app"
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project(':volley')
compile project(':linkedin-sdk')
compile project(':facebook')
compile files('libs/ormlite-android-4.49-SNAPSHOT.jar')
compile files('libs/ormlite-core-4.49-SNAPSHOT.jar')
compile project(':library')
compile('org.apache.httpcomponents:httpmime:4.3.6') {
exclude module: 'httpclient'
}
compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
compile 'com.crittercism:crittercism-android-agent:5.0.6'
compile 'com.squareup.picasso:picasso:2.3.2'
compile files('libs/json_simple-1.1.jar')
compile 'com.android.support:design:22.2.0'
compile project(':dropboxChooserSDK')
compile 'com.google.android.gms:play-services:7.5.0'
compile files('libs/google-api-client-1.20.0.jar')
compile files('libs/google-api-client-android-1.20.0.jar')
compile files('libs/google-api-services-drive-v2-rev173-1.20.0.jar')
compile files('libs/google-http-client-1.20.0.jar')
compile files('libs/google-http-client-android-1.20.0.jar')
compile files('libs/google-http-client-gson-1.20.0.jar')
compile files('libs/google-oauth-client-1.20.0.jar')
compile files('libs/jsr305-1.3.9.jar')
compile files('libs/gson-2.2.4.jar')
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:recyclerview-v7:22.2.0'
compile 'com.android.support:cardview-v7:22.2.0'
}
Exception I am getting.
26927-26927/com.example.app E/dalvikvm﹕ Could not find class 'android.support.v7.internal.view.menu.MenuBuilder', referenced from method android.support.v7.app.AppCompatDelegateImplV7.initializePanelMenu
06-09 21:12:24.014 26927-26927/com.example.app E/dalvikvm﹕ Could not find class 'android.support.v7.internal.view.menu.MenuBuilder', referenced from method android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu
06-09 21:12:24.014 26927-26927/com.example.app E/dalvikvm﹕ Could not find class 'android.support.v7.internal.view.menu.MenuBuilder', referenced from method android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onPreparePanel
06-09 21:12:24.019 26927-26927/com.example.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.app, PID: 26927
java.lang.NoClassDefFoundError: android.support.v4.view.LayoutInflaterCompat
at android.support.v7.app.AppCompatDelegateImplV7.installViewFactory(AppCompatDelegateImplV7.java:812)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:57)
at com.example.app.BaseActivity.onCreate(BaseActivity.java:37)
at com.example.app.SplashScreenActivity.onCreate(SplashScreenActivity.java:29)
at android.app.Activity.performCreate(Activity.java:5451)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
at android.app.ActivityThread.access$900(ActivityThread.java:175)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5602)
at 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:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
Enable multidex could rusult in a runtime exeption java.lang.NoClassDefFoundError: then, Acorde to https://developers.google.com/android/guides/setup : If the number of method references in your app exceeds the 65K limit, your app may fail to compile. You may be able to mitigate this problem when compiling your app by specifying only the specific Google Play services APIs your app uses, instead of all of them.
Example:
In the link you can find a list of Apis. If you are no using google play services, then apply the same principle to your dependencies.
I have the same problem (app will crashed in all devices <= Android 4.4, but worked fine when Android >= 5.0) with the following
build.gradle
setting:Problem
It is caused by
multiDexEnabled true
with Google Play services API and google-api in gradle.Solution
I solved this problem by removing
multiDexEnabled true
and specifying only the specific Google Play services APIs my app uses.multiDexEnabled true
.compile 'com.google.android.gms:play-services-identity:7.5.0'
instead ofcompile 'com.google.android.gms:play-services:7.5.0'
Here is my final and worked
build.gradle
: