티스토리 뷰
안드로이드에서 java.lang.VerifyError: Rejecting class와 같은 에러가 발생 할 때가 있습니다.
제 경우에는 안드로이드 OS중 5.x버전에서 위와 같은 에러가 발생 되면서 특정 class에서 Rejecting 되었습니다. 기타 버전 (4.x,6.x,7.x)에서는 해당 Rejecting없이 정상적으로 동작 하여 에러를 해결하기 더 어려웠던 것 같습니다. 인터넷을 통해 검색 해 보면 해당 에러에 대한 해결방법으로 여러가지가 검색 됩니다.
1.제대로 빌드가 되지 않은 경우에 발생 할 수 있는 에러로 project를 clean,build 후 다시 설치 하기
▷제 경우에서는 해결 되지 않았습니다.
2.synchronized를 사용 하는 경우 try-catch 처리
수정 전
1 2 3 4 5 6 | try { synchronized (mLock) { updateState(); } } catch (IllegalStateException e) { } | cs |
수정 후
1 2 3 4 5 6 | synchronized(mLock) { try { updateState(); } catch (IllegalStateException e) { } } | cs |
▷제 경우에서는 해결 되지 않았습니다.
3.오류 나는 library를 사용 하는 경우 해당 library의 버전에 에러발생으로 인해 library 버전 변경
▷제 경우에서는 library로 인해 문제가 발생 되지 않아 이 경우는 해당 되지 않았습니다.
4.안드로이드 studio에서 "Instant Run" 체크 해제
▷제 경우에서는 해결 되지 않았습니다.
5.문제가 된 class 객체지향(분할화) 처리
▷제 경우에서 해결 된 방법 이었습니다. 문제가 발생 된 class는 개발을 진행 하면서 여러곳의 소스를 복사/붙어넣기하여 만든것으로 class 파일의 소스 코드가 많이 길어져 있던 class였습니다.
안드로이드 5.x에서는 한 클래스에서 너무 많은 라인이 있는(코드가 긴)경우에는 컴파일 시에 해당 class를 Rejecting 시켜 버립니다. 그래서 문제가 발생된 class를 객체지향의 관점에서 분할화 하여 변경 하여 해당 에러가 해결 되었습니다.
'IT > Android' 카테고리의 다른 글
[Android]EditText 사용 시 자동 포커스(Auto Focus)막기 및 키패드 자동 실행 막기 (0) | 2017.09.15 |
---|---|
[Android]View에서 singleLine deprecated 처리에 따른 대처방법 (0) | 2017.06.26 |
[Android] android.content.ActivityNotFoundException: No Activity found to handle Intent 해결방법 (0) | 2017.05.26 |
[Android]웹뷰에서 자바스크립트 이벤트 받아 처리하기 (0) | 2017.05.12 |
[Android]TextView 텍스트 색상 code로 변경하기 (0) | 2017.05.01 |
- 배달 지연
- 블로그 개설
- 포아너
- 사제 쿨러
- 래디어 구조
- 한글 패치
- 단면폭
- 티스토리 초대장
- 7700K
- 림의 외경
- 예약메일 전송
- GPU 출시가격
- Looper.prepare()
- 오픈베타
- 19대 선거
- 1800X
- 라이젠
- 국기 다는 시간
- JSON PASER
- GPU 출시
- 한글패치
- 하이엔드 그래픽카드
- 초대장
- 다렉
- ONLINE JSON
- 테일즈 오브 베르세리아
- unbound prefix
- 투표소
- 1800TI
- 민주당 대선 후보
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |