마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

SSL 관련인듯 메일 연결 기능이 안됩니다. (디버그버전에선 됨

0 추천

이메일 앱에 이메일 수집기능을 넣었었는데 

어느순간 디버그버전에선 정상동작하지만 릴리즈한 앱에서는 동작을 안하길래 

보안쪽 문제인가 해서 알아보니 SSL 관련 문제인거 같아 

javax.net.ssl.SSLSocketFactory 관련 설정 추가와 IMAPSSLStore POP3SSLStore 함수를 이용하여 접속하여 

메일리스트를 가져올수 있게 되었습니다. 

하지만 메일 내용을 열수가 없습니다. 

이것도 디버그 앱에서는 잘 열리는데 릴리즈 한 앱에서는 열리지않아 

릴리즈용으로 디버그 해봤더니 

if(object_content instanceof String) {
   content = (String)message.getContent();
}else if(object_content instanceof Multipart) {
   //이쪽으로 와야 정상인데 
   Multipart  mp = (Multipart)object_content;
   paresingMultiPart(mp);
}

if(object_content instanceof Multipart){

}

으로 걸려야 정상인데 이쪽으로 안걸려서 

if(message.isMimeType("multipart/*")){
   Multipart  mp = (Multipart)message.getContent();
   paresingMultiPart(mp);

이렇게 했떠니 걸리더라구여 

그런데 Multipart  mp = (Multipart)message.getContent(); 이부분에서 오류가 나서 찾아보니 

 java.lang.ClassCastException: k4.a cannot be cast to g4.o 라고 뜨는데  이게 왜 그런는지 도무지 찾을수가 없네요 

if(object_content instanceof InputStream){

}

으로 체크하니 여기서는 걸려서 스트림값으로 어떻게 가공을 해야 하는지 감이 안잡히고 

어제 오늘 검색하면서 찾아봤는데 위와 같은 샘플소스만 나오고 비슷한 오류는 찾아볼수가 없더라구여..

그래서 예전에 가입했다가 계정을 잊어버려 다시 가입하고 질문글 올려봅니다. 

민성 (120 포인트) 님이 2023년 9월 8일 질문

1개의 답변

0 추천

Proguard(난독화) 이슈가 아닐까 생각되네요 

https://stackoverflow.com/questions/30121642/proguard-classcastexception

참조하셔서 Multipart  해당되는 부분의 예외처리를 해보시면 어떨까요?

비뢰광 (7,400 포인트) 님이 2023년 9월 11일 답변
...