안드로이드에서 v4, v7 패키지 충돌 문제를 우아하게 해결하는 방법(최고의 실천편)

1242 단어 Android
문제 설명:
요구 사항: 루프 메시지 EaseUI를 통합하는 응용 프로그램을 만들려면 라이브러리를 Module 타임스에 의존하면 다음과 같은 오류가 발생합니다.
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.   com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException:
번역하면 Jar 패키지 충돌입니다. 그리고 EaseUI 라이브러리의libs에서 v4의jar 패키지에 의존하고 메인 프로젝트에서 v7의 라이브러리에 의존하여 충돌이 발생했습니다.
 
해결 방법 1:
EaseUI의 v4 jar는 일반적으로 비교적 낡기 때문에 과감하게 v4 패키지를libs 디렉터리에서 삭제하고 온라인 의존 라이브러리 v4 패키지를build에 다시 추가합니다.gradle에 의존 추가하기
compile 'com.android.support:support-v4:24.2.0'

이 때 v4 패키지의 버전 번호는 메인 프로젝트 모듈의 v7 패키지와 일치해야 합니다. (일반적인 경우 같은 버전의 의존 패키지는 충돌하지 않습니다.) 그리고build 프로젝트를 다시 시작하면 ok입니다.
 
 
해결 방법 2:
EaseUI 라이브러리의 V4 패키지를 삭제하지 않고 메인 프로젝트 모듈의build에 있습니다.gradle 파일에는 다음과 같이 추가됩니다.
        compile('com.android.support:appcompat-v7:23.3.0') {            exclude module: 'support-v4'        }
기본적으로 v7에는 V4 패키지가 포함되어 있습니다. exclude는 v7 패키지에서 v4 패키지를 제거하면 충돌을 해결할 수 있습니다.
 
마지막으로 제가 말하고자 하는 것은 프로젝트에서 v4 패키지를 사용할 때 온라인 의존 라이브러리를 최대한 사용하고jar 패키지를 사용하지 않으면 충돌의 발생을 줄일 수 있습니다.
 
이것은 저의 경험을 공유하는 것입니다. 본인의 수준이 제한되어 있기 때문에 잘못된 점이 있으면 여러분의 비판과 시정을 환영합니다!0.0

좋은 웹페이지 즐겨찾기