2016-07-28 257 views
0

我正在处理当前的位置跟踪,但是当我正在尝试构建apk时,它显示的错误是BUILDING APK.I没有收到问题。无法构建apk

错误:.dex文件中方法引用的数量不能超过64K。 了解如何解决此问题https://developer.android.com/tools/building/multidex.html

错误:执行任务':app:transformClassesWithDexForDebug'失败。

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_101\bin\java.exe'' finished with non-zero exit value 2

+0

'.dex文件中方法引用的数量不能超过64K。通过https:// developer.android.com/tools/building/multidex.html了解如何解决此问题。它指示您如何解决此问题... – Salem

回答

1

在你build.gradle加入这行,然后再试一次:

multiDexEnabled true

0

您是否尝试过增加堆的大小调整到你的build.gradle文件?例如,这会将dexing的最大堆大小设置为4GB,并且还会启用 multiDexEnabled选项。

android { 
    ... 
    dexOptions { 
     javaMaxHeapSize "4g" 
    } 

defaultConfig { 
     multiDexEnabled true 
    } 
} 
0

嗨,我们有2种方式来处理multidex,

我们应该添加的代码,这段代码在gradle这个

defaultConfig { 
    applicationId "com.example" 
    minSdkVersion 16 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
    multiDexEnabled true 
} 

dexOptions { 
    javaMaxHeapSize "4g" 
} 

第二种方法,我们可以在我们的应用程序类使用此代码第一种方法,

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

感谢它可以为你

有所帮助
0

可以有2个解决方案为您的问题: 1.当你正在开发位置跟踪应用程序,你可能已包括整个谷歌播放服务,其中包括几个libraries.Better你试图包括地图服务在你的gradle文件,如

compile 'com.google.android.gms:play-services-maps:8.3.0' 
  • 如果上述方法不作品尝试修改模块级的build.gradle文件配置成包括支持库并启用multidex输出,如图中以下代码

    android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.0" 
    
    defaultConfig { 
    ... 
    minSdkVersion 14 
    targetSdkVersion 21 
    ... 
    
    // Enabling multidex support. 
    multiDexEnabled true 
    } 
    ... 
    } 
    
    dependencies { 
    compile 'com.android.support:multidex:1.0.0' 
    } 
    
  • 一些依赖关系的方法跨越64k限制。因此你必须引入一个名为“MULTIDEX SUPPORT”的支持。

    http://frogermcs.github.io/MultiDex-solution-for-64k-limit-in-Dalvik/

    Multidex将允许有任何数量的应用程序的方法(连同其关联的第三方库)。

    即使棒棒糖及以上版本支持应用程序有任何数量的方法,前棒棒糖版本只支持单一DEX。因此,应用程序安装时必须安装multidex(REQUIRED)。这样,您的应用即使在预棒棒糖版本上也可以运行。

    Android Studio project works on Lollipop but does not work on Kitkat

    这将一点点你的应用程序变慢作为multidex将尝试提取DEX文件中的所有资源,但一旦这个过程完成时,你会打开应用,它将很好地工作。 此外,它不会给你任何问题后,你创建一个签名的apk。

    +0

    感谢它的完美运行 – Deepanjali