根據聊天時收集到的情報,之前最常見的解決方法是拆成多個 dex,再來是公司本身和 Google 為 partner 關係,可以獲得少部份必需的 source code 使用即可。這個狀況在新版的 play-services:6.5.87 有另一個官方提供的新解法,詳細情況可以參考:Google Play services and DEX method limits
大致上我們先前使用 play-services library 時有兩種方式,直接使用 .jar 檔案或在 build-gradle 撰寫 com.google.android.gms:play-services:6.5.87 從 mavenCentral 或 jcenter 取用,而在新版的 6.5.87 時,可以加上 -base 或 -cast 取用部份的 API 來使用,如果專案還沒有改用 Gradle,也可以趁這個機會做轉移,以我的專案為例會這樣子寫
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.android.support:support-v4:20.0.0'
compile 'com.android.support:appcompat-v7:20.0.0'
compile 'com.android.support:mediarouter-v7:20.0.0'
compile 'com.google.android.gms:play-services-base:6.5.87'
compile 'com.google.android.gms:play-services-cast:6.5.87'
compile project(':facebook')
}
沒有留言:
張貼留言