맞춤 Android 기기에서 IMAP 클라이언트를 개발 중입니다. 그래서 나는 자바 메일 라이브러리를 사용하기로 결정했다. 거대한 INBOX 폴더 (약 120k 메일)의 경우 메모리 문제 때문에 1.4.1 버전의 Java Mail에서 1.4.5로 업데이트해야했습니다.java mail 1.4.5 on android
공식 홈 페이지에서 2 개의 jar (mail.jar 및 activation.jar)를 다운로드 했으므로 릴리스 후보 1.4.6과 함께 시도했지만 제대로 작동하지 않습니다.
내가 전체 응용 프로그램을 빌드하면, 모든 것이 괜찮습니다,하지만 난 실행할 때, 여기 온다 내용은 다음과 같습니다
2-05 17:31:21.020 19862 19912 I dalvikvm: Failed resolving Ljavax/activation/DataHandler; interface 571 'Ljava/awt/datatransfer/Transferable;'
12-05 17:31:21.030 19862 19912 W dalvikvm: Link of class 'Ljavax/activation/DataHandler;' failed
12-05 17:31:21.030 19862 19912 W dalvikvm: VFY: unable to find class referenced in signature (Ljavax/activation/DataHandler;)
12-05 17:31:21.030 19862 19912 I dalvikvm: Failed resolving Ljavax/activation/DataHandler; interface 571 'Ljava/awt/datatransfer/Transferable;'
12-05 17:31:21.030 19862 19912 W dalvikvm: Link of class 'Ljavax/activation/DataHandler;' failed
12-05 17:31:21.030 19862 19912 E dalvikvm: Could not find method javax.activation.DataHandler.getName, referenced from method javax.mail.internet.MimeUtility.getEncoding
12-05 17:31:21.030 19862 19912 W dalvikvm: VFY: unable to resolve virtual method 4632: Ljavax/activation/DataHandler;.getName()Ljava/lang/String;
12-05 17:31:21.040 19862 19912 W dalvikvm: VFY: rejecting opcode 0x6e at 0x0004
12-05 17:31:21.040 19862 19912 W dalvikvm: VFY: rejected Ljavax/mail/internet/MimeUtility;.getEncoding (Ljavax/activation/DataHandler;)Ljava/lang/String;
12-05 17:31:21.040 19862 19912 W dalvikvm: Verifier rejected class Ljavax/mail/internet/MimeUtility;
12-05 17:31:21.050 19862 19912 D EMAIL : Releasing mail download wake lock
12-05 17:31:21.050 19862 19912 W dalvikvm: threadid=17: thread exiting with uncaught exception (group=0x4001aa30)
12-05 17:31:21.060 19862 19912 E AndroidRuntime: Uncaught handler: thread pool-1-thread-1 exiting due to uncaught exception
12-05 17:31:21.080 19862 19912 E AndroidRuntime: java.lang.VerifyError: javax.mail.internet.MimeUtility
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:130)
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at com.sun.mail.imap.IMAPStore.newIMAPProtocol(IMAPStore.java:685)
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:636)
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at javax.mail.Service.connect(Service.java:295)
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at javax.mail.Service.connect(Service.java:176)
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at it.kynetics.imwatch.email.imap.EmailAuthenticationImpl.login(EmailAuthenticationImpl.java:36)
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at it.kynetics.imwatch.email.imap.EmailConnection.execute(EmailConnection.java:21)
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at it.kynetics.imwatch.email.ImCloudEmailService$GetEmailTask.run(ImCloudEmailService.java:148)
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:648)
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:673)
12-05 17:31:21.080 19862 19912 E AndroidRuntime: at java.lang.Thread.run(Thread.java:1060)
12-05 17:31:21.120 1830 1830 I Process : Sending signal. PID: 19862 SIG: 3
내가 항아리에 DataHandler에와 getName 방법을 확인했는데, 다 괜찮습니다.
동일한 문제가있는 사람이 있습니까?
감사합니다.
Android에 이식 된 javamail 1.5.3이 있습니까? 이식하는 방법을 설명해 주시겠습니까? –