Wednesday, December 28, 2016

dependencies version

Android project 既 dependencies 既 version, 又係有點煩既野.
當然, 如果你唔升級, 其實一般唔改都無問題.
不過, 一如以往, 有新就玩新, 我都係貪新既人, 每次都會嘗試升級.

在 IAmHere 同 WhereAreU 入面, 基本上只有兩個 dependencies


  • compile 'com.android.support:appcompat-v7:25.1.0'
  • compile 'com.google.android.gms:play-services:10.0.1'


呢兩件野, 其實我都唔記得邊度用左, 而且, 最煩係唔多識 check 個 version 要點填.
之前好鐘意用 + 結尾, 即係大過呢個就得.
不過,  佢會話咁樣唔係咁好, 叫你最好指定一個.


咁點樣搵家陣最新邊個呢, 我都係網上睇, 估估下.


Support Library
  • compile 'com.android.support:appcompat-v7:<version>'
可以去呢度睇最新既 version: Recent Support Library Revisions


Google API Service:
  • compile 'com.google.android.gms:play-services:<version>'
可以去呢度睇最新既 version:  Google APIs for Android - Release Notes



世事往往無咁順利既, 當改完個 Google API Service 既 version, 再 compile 出 APK, 就會出事.

在 WhereAreU 中, Clean Project 都 build 到, 但係 Build APK 就會出 Error:

  • Error:(233, 21) error: cannot find symbol method getMap()
getMap 既 method, 已經 out 左, 網上教要改用 getMapAsyc(), 但係 getMapAsync 要比 OnMapReadyCallback.  我之前係用 sync mode 去寫既, 要睇下可唔可以直接將後尾既野放入 callback 以 async  mode 去做.  暫時都係唔改住.

其實, 除左 getMap() 之外, 仲有少系問題既, 安全起見, 都係攪到舊野 compile 到先.
暫時唔升級 Google API Service, 之後會嘗試改番既.
之前係用 8.4.0 既, 所以改番轉頭就算, 過左海就神仙.

  • compile 'com.google.android.gms:play-services:8.4.0'
記住, 每次改完 build.gradle, 都要按下右上既 "Sync Now" 等佢 sync 一野.

改完再 Clean Project, 會見到佢提你 getMap() 已經 out 左, 不過 8.4.0 仲比你用到, 頂住先.


No comments:

Post a Comment