通常我們在android使用javamail發送郵件,可是很多時候我們需要連接Exchange服務(很多公司內部郵件伺服器採用,並且未開通smtp服務)來發送郵件,這時候我們就要用到微軟的 ews-java-api。官方github的地址是:https://github.com/OfficeDev/ ...
通常我們在android使用javamail發送郵件,可是很多時候我們需要連接Exchange服務(很多公司內部郵件伺服器採用,並且未開通smtp服務)來發送郵件,這時候我們就要用到微軟的 ews-java-api。官方github的地址是:https://github.com/OfficeDev/ews-java-api。然後再android studio裡面按照給出的方法添加2.0依賴、build。這時候問題來了編譯通過不了報錯
內容如下:
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.client.protocol.HttpClientContext" on path: DexPathList[[zip file "/data/app/domain.test.android.jasonyu.myfirstapp-2/base.apk"],nativeLibraryDirectories=[/data/app/domain.test.android.jasonyu.myfirstapp-2/lib/x86, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at microsoft.exchange.webservices.data.core.ExchangeServiceBase.initializeHttpContext(ExchangeServiceBase.java:261) at microsoft.exchange.webservices.data.core.ExchangeServiceBase.setUseDefaultCredentials(ExchangeServiceBase.java:677) at microsoft.exchange.webservices.data.core.ExchangeServiceBase.<init>(ExchangeServiceBase.java:173) at microsoft.exchange.webservices.data.core.ExchangeService.<init>(ExchangeService.java:3718) at domain.test.android.jasonyu.myfirstapp.MainActivity.onButtonGoClick(MainActivity.java:94)
後來找到可能原因是這個api是針對java web如果想用到android端需要使用另外一個android封裝:https://github.com/alipov/ews-android-api。
通過git編譯 ews-android-api.jar。然後再項目中添加依賴:
compile files('libs/ews-android-api.jar')
compile 'joda-time:joda-time:2.8'
ok大功告成。