最近在做個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
點開需要依賴包的檔案夾,下面可以看到各個版本号的檔案夾清單。