UNEXECTED TOP-LEVEL EXCEPTION – com.android.dex.decExeption: Mulitiple dex file define

在更新了Android Studio 0.5.1 後很多時候跟隨教學的東西都用不著..
今天我的學習過程中又出現了一些問題了
在嘗試使用Google Play Services 的時候出現了以下的錯誤..
UNEXECTED TOP-LEVEL EXCEPTION - com.android.dex.decExeption: Mulitiple dex file define
情況應該是這樣的..
Android Studio 0.5.1開始在 build.gradle上多了一句

compile fileTree(dir: 'libs', include: ['*.jar'])

當我學習使用Google Play Services時我是使用0.4.6 版本的..
所以便使用了之前 “How to Add Library to Android Studio – 怎樣在Android Studio上加入 Library
的”Add as Library“的方法 加入了 “Google Play Services
這個功能亦都在 build.gradle上加入了一些 Reference/設定

E.g.

compile 'com.google.android.gms:play-services:4.2.42'
compile files('libs/google-play-services.jar')

就是因為這樣..在Android Studio上好像把 google-play-services.jar參考/Compile了兩次..
第一次是

compile fileTree(dir: 'libs', include: ['*.jar'])

另一次是

compile files('libs/google-play-services.jar')

build.gradle has both references on dependencies
所以便出現了這個錯誤
UNEXECTED TOP-LEVEL EXCEPTION – com.android.dex.decExeption: Mulitiple dex file define

解決方法十分簡單
我們只是刪除其中一個參考便可以了..
我選擇刪除

compile 'com.google.android.gms:play-services:4.2.42'
compile files('libs/google-play-services.jar')

之後再次Compile. .便沒有錯誤了

build.gradle without the google play services reference

Hope you find it useful

One thought on “UNEXECTED TOP-LEVEL EXCEPTION – com.android.dex.decExeption: Mulitiple dex file define

  1. Pingback: no resource identifier found for attribute ‘ adsize ‘ in package – Android Studio – Google Play Services | Share ChiWai/Share 智慧/智慧分享 – 技術分享/Tech Blog

Leave a Reply