2018年9月23日日曜日

Failed to resolve: com.google.firebase:firebase-ads:16.0.3

結果から言えば firebase-ads: 16.0.3はStable channelではリリースされていない。
公式のドキュメント(https://firebase.google.com/docs/android/setup)を見たところ
com.google.firebase:firebase-ads:15.0.1 AdMob
となっていた。なのでおそらく
implementation 'com.google.firebase:firebase-ads:15.0.1'
と書き換えるだけでよかったのだと思う。

スタックオーバーフローでは
'com.google.firebase:firebase-core:16.0.3' (16.0.1だったかも)
をfirebase-adsの前に追加して
プロジェクトの build.gradleの
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'com.google.gms:google-services:4.0.2'
の記述があることを確認すれば解決するとかそんな感じだった。
(この話は公式ドキュメントのfirebaseを実装する手順の話になる)

正直色々と試行錯誤して半日以上費やしたが、結果からすればエラーメッセージの通り単純にfirebase-ads: 16.0.3の解決が失敗した。というのはあれなのだが、もうちょっとなんとかしてほしいものだ(笑)
例えば version 16.0.3が見つからない。存在するバージョンは15.0.1 とか表示すればアプローチがガラッと変わるのだが…

implementation 'com.android.support:appcompat-v7:26.1.0'

dependencies節のcompile(非推奨)からimplementationへの置き換え作業にて。

エラー表示がされたまま解除できなかったので試行錯誤の結果
testImplementation 'junit:junit:4.12'
をコメントアウトすることでエラー表示が無くなった。理由は不明
念のためほぼ使用していないtest関連もコメントアウト状態にした。

この時の環境
Android Studio 3.1.4
gradle 4.4
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'com.google.gms:google-services:4.0.2'