我将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
那么,有两个问题:如何减少首次启动的时间以及如何构建应用程序?
答案 0 :(得分:1)
android {
...
defaultConfig {
...
multiDexEnabled true
}
}
在您的app build.gradle文件中使用它,它将起作用。
答案 1 :(得分:0)
不要在gradle文件中包含完整的播放服务库,它们从为apk提供的64k方法限制中消耗大约34 k方法。所以有两种解决方案。
com.google.android.gms:播放服务,地图:10.0.1
为您的应用启用multidex支持。为此,请执行以下步骤
android {
defaultConfig {
minSdkVersion 21
targetSdkVersion 25
multiDexEnabled true// add this line
}
}
并将其添加为依赖
compile' com.android.support:multidex:1.0.1'