天天看點

Android Studio v4,v7,v13包相容問題,項目同時導入v7、v13包處理方法

最近在做個AS項目,同時用到了v7包和v13包,但是導入包的時候出錯,提示兩種錯誤:一種是包重複,一種如下:

Execution failed for task ':app:transformClassesWithDexForDebug'.

> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.android.dx.command.Main with arguments {--dex --num-threads=4 --multi-dex --main-dex-list F:\Android\work\Aischool-1\app\build\intermediates\multi-dex\debug\maindexlist.txt --output F:\Android\work\Aischool-1\app\build\intermediates\transforms\dex\debug\folders\1000\1f\main F:\Android\work\Aischool-1\app\build\intermediates\transforms\jarMerging\debug\jars\1\1f\combined.jar}

解決方法(全部采用依賴包的形式):

1. 删除libs目錄下v4,v7,v13有關的所有包

2.在build裡邊加入依賴包(項目用到了v7的recyclerview、cardview,v13的FragmentPagerAdapter)

    compile ('com.android.support:appcompat-v7:21.0.0')

    compile ('com.android.support:recyclerview-v7:21.0.0')

    compile ('com.android.support:cardview-v7:21.0.0')

    compile ('com.android.support:support-v13:21.0.0')

3.clean工程,run app,大功告成!

注意在第二步中的版本号,請因工程而異,我的依賴包版本是21.0.0,是因為我的build裡邊compileSdkVersion是21,請使用自己工程對應的版本。

AndroidStudio依賴包的版本可以本地檢視,前提是Tools->Android->SDK Manager->SDK Tools下的Support Repository下的Android Support Repository是下載下傳安裝好了。

本地路徑(對應自己SDK位置):F:\Android\android-sdk\extras\android\m2repository\com\android\support

點開需要依賴包的檔案夾,下面可以看到各個版本号的檔案夾清單。