Android匯入三方SDK時遇到的一些異常及解決方案

浮沉半生發表於2016-07-04

在AndroidStudio中匯入三方SDK時,按照整合文件一步一步來,整合之後開始執行,可能會遇到一些問題,下面我就列舉一下我遇到的三個問題,希望能對大家有所幫助:


 第一個:執行之後沒有反應,這時候點開Android Manitor,觀察上面出現的提示:

這時候可以將你下載好的SDK中platforms資料夾中對應的平臺的libs匯入到你工程的libs中去,之後再執行就可以正常使用了。


第二個:新增好對應平臺的jar包後,再次執行會出現 :

 Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;

對於這種異常,只需要在AndroidManifest.xml清單檔案中新增一句話即可:即下方圖片中紅色框框圈出來的這行程式碼


第三個:前面兩步都搞定之後程式應該能夠正常的執行了,但是有時候還會出現一個異常:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/print/PrintHelper$PrintHelperStubImpl.class;

對於這種異常,應該是v4包衝突所導致的,以來jar包時要注意唯一性原則,只需要將libs中的v4jar包或者build.gradle中的v4依賴包去掉其中一個即可,我是將libs目錄下的v4jar包去掉之後,問題就解決了,如下圖:

將紅框內的v4jar包刪除即可。


好了,一般整合三方SDK時按照官方整合文件一般都可以成功,但是往往也會遇到各種各樣的問題,這三個問題只不過是一些經常會遇到的,所以我羅列了出來,如果大家遇到一些不一樣的問題,也可以寫出來,大家可以一起探討一下。

相關文章