2016年7月16日土曜日

cordova: 'Could not find any version that matches com.google.android.gms:play-services-gcm:+.' で build に失敗したら

 初めての cordova 案件が数か月放置された cordova のプロジェクトをメンテ。

 まずは環境を作り。こちらのページを参考に Mac に cordova 環境を構築。Android、iOS ともに空プロジェクトを作って build が成功するところまでできた。

 続いてターゲットのソースを git からクローンして build。Android も iOS も失敗。まずは Android から調査開始。
 最初は SDK が足りないということで SDK Manager から追加して終わり。次のエラーが

 'Could not find any version that matches com.google.android.gms:play-services-gcm:+.'

 ということなのだが、 Google play services は追加済。調べていくと Google Repository も必要ということで追加したのだが、変わらず。

 あれこれ調べていくうちに、どうもあるべき場所にあるべきファイルがない気がしてきた。そこで気が付いたのだが、いままでは Android studio から SDK Manaeger を起動していたのだが、ターミナルから SDK Manager を起動すると、案の定 Google Repository がインストールされていない。
 こちらから Google Repository をインストールすると build に成功した。

もしかして、一部 SDK が複数個所に格納されているのかもしれない。