내 앱에서 Google 로그인을 통합하려고하는데 다음 라이브러리를 추가했습니다.
compile 'com.google.android.gms:play-services-identity:8.1.0'
compile 'com.google.android.gms:play-services-plus:8.1.0'
또한 이것을 빌드 빌드 gradle에 추가하십시오.
classpath 'com.google.gms:google-services:1.4.0-beta3'
또한 앱 빌드 gradle에 플러그인을 추가하십시오.
apply plugin: 'com.google.gms.google-services'
그런 다음 필요한 권한을 추가하지만 앱을 실행하려고 할 때이 오류가 발생했습니다.
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0\bin\java.exe'' finished with non-zero exit value 2
답변
multiDexEnabled true
app build.gradle 파일에 추가 하십시오.
defaultConfig {
multiDexEnabled true
}
편집하다:
스티브의 대답을 먼저 시도하십시오 . 자주 발생하거나 첫 번째 단계가 도움 multiDexEnabled
이 되지 않은 경우 . 더 깊이 파고 싶어하는 사람들에게는 몇 가지 비슷한 문제가 있습니다 (더 많은 답변이 있음).
: app : dexDebug ExecException이 0이 아닌 종료 값 2로 완료되었습니다.
오류 : ‘: app : dexDebug’작업에 대한 실행이 실패했습니다. com.android.ide.common.process.ProcessException
답변
주의해야 할 또 다른 것은
compile 'com.google.android.gms:play-services:8.3.0'
그것은 모든 플레이 서비스를 가져 오며, 단일 덱스 APK의 65535 방법 제한을 초과하는 데는 Hello World가 필요합니다.
필요한 서비스 만 항상 지정하십시오 (예 :
compile 'com.google.android.gms:play-services-identity:8.3.0'
compile 'com.google.android.gms:play-services-plus:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
답변
방금 프로젝트를 정리 한 후 성공적으로 빌드했습니다.
답변
이 오류는 프로젝트에 새로운 방법을 추가했을 때 나타납니다. 나는 65k 메소드 한계에 가깝다는 것을 알았고 프로젝트를 도울 수 있다면 multiDex 지원을 사용하고 싶지 않았습니다.
:app:transformClassesForDexForDebug
작업에 사용 가능한 메모리를 늘려서 해결했습니다 . 에 javaMaxHeapSize 를 지정 하여이 작업을 수행 했습니다 gradle.build
.
gradle.build
android {
...
dexOptions {
javaMaxHeapSize "4g" //specify the heap size for the dex process
}
}
이 문제에 대한 다른 일반적인 솔루션으로 성공하지 못한 후에 이것을 시도했습니다.
- 프로젝트 실행
clean
- 프로젝트에서
/app/build
및/build
디렉토리를 수동으로 삭제 - Gradle Cache 무효화 및 Android Studio 재시작
오류
오류 : 태스크> ‘: app : transformClassesWithDexForDebug’에 대한 실행이 실패했습니다. com.android.build.api.transform.TransformException : com.android.ide.common.process.ProcessException : org.gradle.process.internal.ExecException : Process ‘command’/Library/Java/JavaVirtualMachines/jdk1.8.0_45. jdk / Contents / Home / bin / java ”가 0이 아닌 종료 값 1로 완료되었습니다.
참고 : DEX 작업에 사용 가능한 메모리를 늘리면 메모리 링크 가 낮은 시스템에서 성능 문제가 발생할 수 있습니다 .
답변
또한 Android Studio 1.5.1 및 gradle 1.5.0에서 비슷한 문제에 직면했습니다. 내 앱의 build.gradle 파일에 자동으로 추가 될 수있는 종속성에서 원하지 않는 라이브러리를 제거해야합니다. 하나는 ‘com.google.android.gms : play-services : 8.4.0’입니다. 따라서 모범 사례의 경우 광고 포함과 같은 특정 재생 서비스 라이브러리 만 포함 시키십시오.
dependencies {
compile 'com.google.android.gms:play-services-ads:8.4.0'
}
이기는 하지만
defaultConfig {
multiDexEnabled true
}
이렇게하면 문제가 해결되지만 gradle 콘솔에 많은 메모가 제공되어 빌드 중에 다른 실제 문제를 찾는 것이 혼란 스럽습니다.
답변
당신은 안드로이드 의 문서를 볼 수 있습니다
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'
}
Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
답변
AS 1.5.1을 사용하고 있으며 동일한 문제가 발생했습니다. 그러나 프로젝트를 청소하는 것만으로는 효과가 없으므로 무언가를 시도했습니다.
- 깨끗한 프로젝트
- AS를 다시 시작
- 프로젝트 동기화
이것은 나와 함께 일했기 때문에 이것이 도움이되기를 바랍니다.