无法使用谷歌地图构建应用程序

时间:2016-12-14 11:12:03

标签: java android google-maps

我将Google Maps 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

那么,有两个问题:如何减少首次启动的时间以及如何构建应用程序?

2 个答案:

答案 0 :(得分:1)

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

在您的app build.gradle文件中使用它,它将起作用。

答案 1 :(得分:0)

不要在gradle文件中包含完整的播放服务库,它们从为apk提供的64k方法限制中消耗大约34 k方法。所以有两种解决方案。

  1. 仅从播放服务添加必需的库,即如果您想使用地图,请将其添加到您的gradle中
  2.   

    com.google.android.gms:播放服务,地图:10.0.1

    1. 为您的应用启用multidex支持。为此,请执行以下步骤

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

      并将其添加为依赖

    2.   

      compile' com.android.support:multidex:1.0.1'