2016-07-28 255 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