2016-12-14 47 views
0

我將Google地圖API集成到我的應用程序中,現在需要更多時間來首次啓動(即使我不啓動地圖),而且我也不能使用地圖Build APK。我可以簡單地在設備上運行它,但無法在Android Studio中構建它。無法使用谷歌地圖創建應用程序

依賴關係:

compile fileTree(dir: 'libs', include: ['*.jar']) 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:appcompat-v7:25.0.1' 
compile 'com.google.android.gms:play-services:9.8.0' 

下面是錯誤的:

Error:The number of method references in a .dex file cannot exceed 64K. 
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html 
:app:transformClassesWithDexForDebug FAILED 
Error:Execution failed for task ':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 

於是,兩個問題:如何降低時間首次發射,以及如何構建應用程序?

+1

乘坐看看http://stackoverflow.com/questions/40958192/i-get-errorexecution-failed-for-task-apptransformclasseswithdexfordebug-w/40958284#40958284 – antonio

+0

和在這裏 - > http://stackoverflow.com/a/40958251/5188159 –

+0

多個庫的問題,您正在使用庫文件和gradle鏈接,請確保您正在使用所需的庫。還要在defaultConfig中添加multiDexEnabled true。 – Nithin

回答

1
android { 
       ... 
       defaultConfig { 
        ... 
        multiDexEnabled true 
       } 
      } 

在您的應用程序build.gradle文件中使用它會工作。

+0

還有一件事你只想使用地圖服務? –

+0

謝謝!現在是,但我後來不知道。我還需要知道什麼? – Tryam

+0

如果您只需要map服務而不是僅使用map的依賴關係,則不要使用完整的play服務依賴項。 compile'c​​om.google.android.gms:play-services-maps:10.0.0' –

0

不要在gradle文件中包含完整的播放服務庫,它們會從apk提供的64k方法限制中消耗約34 k個方法。所以有兩種解決方案。

  1. 如果你想使用的地圖,然後在你的gradle這個添加此添加的播放服務,即只需庫

com.google.android.gms:發揮服務,地圖:10.0 0.1

  • 啓用應用程式multidex支持。要做到這一點執行以下步驟

    android { 
    
    defaultConfig { 
    minSdkVersion 21 
    targetSdkVersion 25 
    multiDexEnabled true// add this line 
    } 
    } 
    

    並添加此作爲一個依賴

  • 編譯 'com.android.support:multidex:1.0.1'

    相關問題