나는이 코드에서 ionic cordova build android --prod --release
- 으로 컴파일하려고하는데 이는 동일한 코드 (동일한 원격 리포지토리에서 가져온 것입니다. 같은 커밋, 깨끗한 위치).안드로이드 컴파일 : 어떤 차이가 한 컴퓨터에서 코드를 컴파일 할 수 있지만 다른 컴퓨터에서는 실패 할 수 있습니다.
문제는 다음과 같습니다. 한 컴퓨터에서 명령이 예상대로 .apk
파일을 생성합니다. 다른 컴퓨터에서는 명령이 실패합니다 (질문이 끝나면 오류를 게시합니다).
Android Studio는 거의 동일한 버전이며 (마이너에서는 약간의 차이가 있음), 환경 설정에서 SDK 플랫폼, SDK 도구 및 SDK 업데이트 사이트의 모든 설정이 완전히 동일합니다.
다른 모든 관련 소프트웨어는 완전히 동일한 버전입니다.
C:\Users\my_user>ionic -version
3.19.0
C:\Users\my_user>java -version
java version "1.8.0_151"
C:\Users\my_user>gradle -v
------------------------------------------------------------
Gradle 4.4
------------------------------------------------------------
Build time: 2017-12-06 09:05:06 UTC
Revision: cf7821a6f79f8e2a598df21780e3ff7ce8db2b82
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM: 1.8.0_151 (Oracle Corporation 25.151-b12)
OS: Windows 10 10.0 amd64
내가 확인해야하는 컴퓨터에는 어떤 내용이 다를 수 있습니까? 일부 환경 변수 일 수 있습니까? 어느 것?
컴파일 오류는 다음과 같습니다
* What went wrong:
Execution failed for task ':transformClassesWithDexForRelease'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lorg/apache/cordova/PermissionHelper;
나는 다음 platforms\android\build.gradle
파일의 defaultConfig
섹션에서 multiDexEnabled true
을 추가하여이 문제를 해결하고, 다른 오류 가지고 :
* What went wrong:
Execution failed for task ':transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/cordova/PermissionHelper.class
하는 사이 다를 수 있습니다 무엇을 내가 확인해야 할 컴퓨터들? 일부 환경 변수 일 수 있습니까? 어느 것?