program type already present error
2019. 12. 8. 11:38ㆍ문제들
class reference duplication
libs 에 jar 라이브러리 추가시 생길 수 있는 에러이다.
이유는 클래스가 중복 참조되기 때문이다.
1. multidex의 제한 문제
android가 java class를 변환해서 dex(dalivk executable)로 저장하는데,
dex의 갯수는 65536개로 제한 되어있다.
dex의 갯수가 최대 숫자를 넘어가면 중복 참조가 되면서
외딴 class에서 문제가 났다고 compile과정에서 에러가 난다.
이럴땐 app build.gradle 에서
android -> defaultConfig 안에
multiDexEnabled true
를 추가해준다.
dex를 2개 이상 써줘서 클래스 중복 참조를 막는다.
2. 같은 library의 다른 버전 2개가 동시에 존재할 경우
1) app-> build.gradle -> dependencies 에서 확인
2) shift 2번 연타 -> 문제 발생하는 class 검색
1,2번을 통해 확인해보고 중복된 라이브러리를 제거할 수 있다.
'문제들' 카테고리의 다른 글
(legacy) 오류 아나콘다 파이썬 import 충돌 (0) | 2020.07.14 |
---|---|
git - fatal authentication failed for ~ 해결법 (0) | 2020.07.13 |
scanner 입력이 버퍼 때문에 잘 안될때 (0) | 2020.01.30 |
The literal ~ of type int is out of range (0) | 2020.01.30 |
android sqlite db 저장 안됨 (0) | 2019.12.02 |