Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中正确启用多索引_Java_Android_Android Multidex - Fatal编程技术网

Java 如何在android中正确启用多索引

Java 如何在android中正确启用多索引,java,android,android-multidex,Java,Android,Android Multidex,我已经设置了MultiDex,但似乎无法处理我的案例,我可能遗漏了什么?在某些应用程序上有相同的设置,在那里工作 另外,我正在使用新的安卓Studio 3.0金丝雀1,如果这可能有效果的话 清单 <application android:name=".Global" android:largeHeap="true" android:supportsRtl="true" android:theme="@style/AppThem

我已经设置了MultiDex,但似乎无法处理我的案例,我可能遗漏了什么?在某些应用程序上有相同的设置,在那里工作

另外,我正在使用新的安卓Studio 3.0金丝雀1,如果这可能有效果的话

清单

<application
        android:name=".Global"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
应用程序类

public class Global extends MultiDexApplication {
   @Override
    public void onCreate() {
        super.onCreate();
        MultiDex.install(this);
    }
}
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzbrq;
Error:com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzbrq;
Error:  at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:608)
Error:  at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:563)
Error:  at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:545)
Error:  at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:167)
Error:  at com.android.dx.merge.DexMerger.merge(DexMerger.java:194)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.mergeDexes(DexArchiveMergerCallable.java:66)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:54)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:37)
Error:  at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
Error:  at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
Error:  at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
Error:  at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
Error:  at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Error:Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzbrq;
错误

public class Global extends MultiDexApplication {
   @Override
    public void onCreate() {
        super.onCreate();
        MultiDex.install(this);
    }
}
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzbrq;
Error:com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzbrq;
Error:  at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:608)
Error:  at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:563)
Error:  at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:545)
Error:  at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:167)
Error:  at com.android.dx.merge.DexMerger.merge(DexMerger.java:194)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.mergeDexes(DexArchiveMergerCallable.java:66)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:54)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:37)
Error:  at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
Error:  at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
Error:  at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
Error:  at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
Error:  at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Error:Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzbrq;
试试这个

protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
多索引安装(本);创建一个类时删除此行

public class Multi_Dex extends Application {
@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}}
导入此库

compile 'com.android.support:multidex:1.0.1'
像这样在你的渐变中设置multltidexenavbled为真

defaultConfig {
    multiDexEnabled true
    minSdkVersion 19
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
        android:name="com.pkg.Multi_Dex"
我是你最简单的文件定义你的应用程序名称属性如下

defaultConfig {
    multiDexEnabled true
    minSdkVersion 19
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
        android:name="com.pkg.Multi_Dex"
梯度文件

在你的活动中发生变化

public class YouApplication extends Application {

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }

}

你能解释一下你的答案吗?把multiDexEnabled放在BuildTypes里就行了。没有帮助,还有什么你认为我可以检查的吗?dexOptions{javaMaxHeapSize“4g”}我认为你需要逐渐增加堆的大小你找到解决办法了吗?突然遇到同样的事情。