2015-08-25 13 views
8

i am new to android studio i am doing one sample application in android studio, when i run the application 5.0 it's working fine but 5.0 below it's throw's this Execption can any one tel what i am wrong here...java.lang.NoClassDefFoundError: Android Studio android.support.v4.view.LayoutInflaterCompatHC

08-25 18:17:40.354 28953-28953/com.app E/AndroidRuntime﹕ FATAL EXCEPTION: main 
     java.lang.NoClassDefFoundError: android.support.v4.view.LayoutInflaterCompatHC 
       at android.support.v4.view.LayoutInflaterCompat$LayoutInflaterCompatImplV11.setFactory(LayoutInflaterCompat.java:42) 
       at android.support.v4.view.LayoutInflaterCompat.setFactory(LayoutInflaterCompat.java:79) 
       at android.support.v7.app.AppCompatDelegateImplV7.installViewFactory(AppCompatDelegateImplV7.java:812) 
       at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:57) 
       at com.app.utils.UIHelper.onCreate(UIHelper.java:28) 
       at com.app.DashboardActivity.onCreate(DashboardActivity.java:97) 
       at android.app.Activity.performCreate(Activity.java:4465) 
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931) 
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992) 
       at android.app.ActivityThread.access$600(ActivityThread.java:127) 
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158) 
       at android.os.Handler.dispatchMessage(Handler.java:99) 
       at android.os.Looper.loop(Looper.java:137) 
       at android.app.ActivityThread.main(ActivityThread.java:4448) 
       at java.lang.reflect.Method.invokeNative(Native Method) 
       at java.lang.reflect.Method.invoke(Method.java:511) 
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823) 
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590) 
       at dalvik.system.NativeStart.main(Native Method) 

build.gradle

android { 

    compileSdkVersion 23 
    buildToolsVersion "23.0.0" 

    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 23 
     applicationId "com.app" 
     multiDexEnabled = true 
    } 

    buildTypes { 

     debug { 
      minifyEnabled false 
      debuggable true 
     } 
    } 

    lintOptions { 
     abortOnError false 
    } 

    packagingOptions{ 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/NOTICE' 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.google.api-client:google-api-client:1.20.0' 
    compile 'com.google.api-client:google-api-client-android:1.20.0' 
    compile 'com.google.api-client:google-api-client-gson:1.20.0' 
    compile 'com.google.apis:google-api-services-calendar:v3-rev125-1.20.0' 
    compile 'com.android.support:appcompat-v7:23.0.0' 
    compile 'com.android.support:design:23.0.0' 
    compile 'com.google.android.gms:play-services:7.8.0' 
} 

cevap

28

Eğer multidex etkinleştirmiş gibi görünüyor, ama sen multidex kütüphanesi kullanılmıyor.

Lollipop (API 21), çoklu eklentiler için yerel destek sağladı, ancak Android'in önceki sürümlerinde, çoklu uzantıyı doğru şekilde desteklemek için multidex destek kitaplığını kullanmanız gerekir.

İlk olarak, build.gradle için bağımlılık ekleyin:

compile 'com.android.support:multidex:1.0.0' 

İkinci, başvurunuzun kodunda multidex etkinleştirmeniz gerekir. Eğer Application sınıf zaten özel bir kullanmayaniseniz, şöyle Manifest'inizde MultiDexApplication sınıf kaydederek yapabilirsiniz:

<application 
    ... 
    android:name="android.support.multidex.MultiDexApplication"> 
    ... 
</application> 

Eğer olan bir özel uygulama sınıfını kullanıyorsanız, multidex imkan vermelidir attachBaseContext() yılında şöyle:

@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 

    MultiDex.install(this); 
} 

Kaynak: şimdi Building Apps with over 65k Methods

+0

ben bu sorunu var "Yürütme görev için başarısız oldu": doktor: dexDebug '. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: 'komut' işlemini 'C: \ Program Files \ Java \ jdk1.8.0_45 \ bin \ java.exe' 'ile bitti sıfır olmayan çıkış değeri 3 " –

+0

Bu, Studio'nun bellek yetersiz kaldığı anlamına gelir. Bkz. http://stackoverflow.com/questions/30483827/android-studio-java-exe-finished-with-non-zero-exit -value-3 –

+0

İyi çalışıyor ahbap –

İlgili konular