Android-MultiDexEnable=true导致毕加索崩溃

Android-MultiDexEnable=true导致毕加索崩溃,android,noclassdeffounderror,picasso,cometserver,Android,Noclassdeffounderror,Picasso,Cometserver,我在gradle文件中使用了MultiDexEnable=true命令来集成cometChat sdk。但毕加索图书馆本来运行良好,现在却崩溃了,出现了以下错误。你能为解决方案提供指导吗 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" useLibrary 'org.apache.http.legacy'

我在gradle文件中使用了MultiDexEnable=true命令来集成cometChat sdk。但毕加索图书馆本来运行良好,现在却崩溃了,出现了以下错误。你能为解决方案提供指导吗

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "com.edesign.astutesol.eyesapp"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
            multiDexEnabled true

    }
    /*repositories {
        maven {
            url 'https://repo1.maven.org/maven2/'
           // url 'https://oss.sonatype.org/content/repositories/snapshots/'
        }
    }*/
    dexOptions {
        javaMaxHeapSize "4g"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'

    /*compile('org.apache.httpcomponents:httpmime:4.3.6') {
        exclude module: 'httpclient'
    }
    compile 'org.apache.httpcomponents:httpclient-android:4.3.5'*/
    /*compile 'com.loopj.android:android-async-http:1.4.9'*/
    /*compile 'com.loopj.android:android-async-http:1.4.9-SNAPSHOT'*/
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    compile 'com.mcxiaoke.volley:library:1.0.15'
    compile 'com.google.android.gms:play-services-appindexing:8.1.0'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.google.code.gson:gson:2.2.+'
    compile 'com.android.support:recyclerview-v7:23.1.1'
    compile 'com.android.support:cardview-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:support-v13:23.1.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
    compile 'de.hdodenhof:circleimageview:2.0.0'
}
日志目录

Process:com.edesign.astutesol.eyesapp,PID:29018 java.lang.NoClassDefFoundError:com.squareup.picasso.picasso$1
在com.squareup.picasso.picasso.(picasso.java:109)
在com.edesign.astutesol.eyesapp.BaseFragmentActivity.SetDrawer(BaseFragmentActivity.java:81)
在com.edesign.astutesol.eyesapp.BaseFragmentActivity.onCreate(BaseFragmentActivity.java:65)上
在com.edesign.astutesol.eyesapp.MapsActivity.onCreate(MapsActivity.java:152)上
位于android.app.Activity.performCreate(Activity.java:5541)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2368)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464)
在android.app.ActivityThread.access$900(ActivityThread.java:172)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:146)
位于android.app.ActivityThread.main(ActivityThread.java:5653)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
在dalvik.system.NativeStart.main(本机方法)

让您的应用程序类像下面这样

public class MyAppClass extends MultiDexApplication{
@Override
    protected void attachBaseContext(Context newBase) {
        MultiDex.install(newBase);
        super.attachBaseContext(newBase);
    }
}
将此库添加到依赖项中

dependencies {
     compile 'com.android.support:multidex:1.0.1'
    //    your dependencies which you are using.

}

build.gradle

&如果在项目中使用应用程序类,请使用
MultiDexApplication
&在
attachBaseContext

要安装MultiDex.install

例如

在AndroidManfiest文件应用程序名中声明
MyAppClass

<application
        android:name="MyAppClass"
android:icon="@drawable/ic_launcher"
        android:label="@string/app_name">
//... your other manifest declaration
</application>
建议

仅使用所需的播放服务库,不要添加整个播放服务组。它将减少方法计数和未使用库的数量

范例

使用这些行(根据所需功能添加artifactId(组),如
游戏服务健身
游戏服务可穿戴
等):

参考我对其他问题的回答


显然,正如文档中所述,您需要为多索引设置上下文。。。你通常没有(但是没有代码很难说)@usman你试过这个答案吗?>>在这个建议部分中,你可以用简单的方式工作。。有关更多详细信息,您可以查看此答案,感谢您的回复,但我无法从您的链接中找到确切答案。请您指导?@UsmanIshrat检查答案,并让我知道是否有什么地方可以调用类“MyAppClass”?@UsmanIshrat在AndroidManifest.xml文件
中的什么地方可以调用类“MyAppClass”?@BajiraoShinde+1感谢您的努力
public class MyAppClass extends MultiDexApplication{
@Override
    protected void attachBaseContext(Context newBase) {
        MultiDex.install(newBase);
        super.attachBaseContext(newBase);
    }
}
<application
        android:name="MyAppClass"
android:icon="@drawable/ic_launcher"
        android:label="@string/app_name">
//... your other manifest declaration
</application>
 apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "com.edesign.astutesol.eyesapp"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true

    }
    /*repositories {
        maven {
            url 'https://repo1.maven.org/maven2/'
           // url 'https://oss.sonatype.org/content/repositories/snapshots/'
        }
    }*/
    dexOptions {
          jumboMode = true
        incremental true
        // here heap size give 4g i got this thing from https://groups.google.com/forum/#!topic/adt-dev/P_TLBTyFWVY

        javaMaxHeapSize "4g"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:multidex:1.0.1'
    //your dependencies which you are using.
    /*compile('org.apache.httpcomponents:httpmime:4.3.6') {
        exclude module: 'httpclient'
    }
    compile 'org.apache.httpcomponents:httpclient-android:4.3.5'*/
    /*compile 'com.loopj.android:android-async-http:1.4.9'*/
    /*compile 'com.loopj.android:android-async-http:1.4.9-SNAPSHOT'*/
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    compile 'com.mcxiaoke.volley:library:1.0.15'
    compile 'com.google.android.gms:play-services-appindexing:8.1.0'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.google.code.gson:gson:2.2.+'
    compile 'com.android.support:recyclerview-v7:23.1.1'
    compile 'com.android.support:cardview-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:support-v13:23.1.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
    compile 'de.hdodenhof:circleimageview:2.0.0'
}
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.google.android.gms:play-services-fitness:8.4.0'
compile 'com.google.android.gms:play-services-wearable:8.4.0'