滅茶苦茶今更なADT (Eclipse) でFirebaseを使う方法
今更Eclipseが使われることは殆どないと思いますし、そんなことをするぐらいならさっさとAndroidStudioに移行したほうが無難ですが、
“でも、どうしても!”
って時の手段ってことで。備忘録程度に書き留めておきます。
目次
手順
Firebaseを使うためのアカウント云々とかは、通常通りですので省きます。
流れは以下の感じです。
- AARを展開してLibraryプロジェクトを作る
- 作ったプロジェクトをEclipseで読み込む
- Gradleがやってくれるビルド前の処理を手動でやる
AARを展開してLibraryプロジェクトを作る
必要ファイルをひっぱってきてZipで展開して・・・
なのですが、便利なやつが公開されています。
適当にgradleのプロジェクトを作り、build.gradle書いて、コマンド叩くだけで依存関係の解決と Library プロジェクトを作るところまでをやってくれます。
https://github.com/ksoichiro/gradle-eclipse-aar-plugin
※自分が試したのでは、Firebaseの中にパーミッション足りないやつがいてsudoしないとコマンドが完走しませんでした。
※build.gradleは通常のFirebase使うときの構成が基本に、あとはgitの方のREADMEにそってって感じですが、バージョン周りで多少上手くいかない場合がありますので、最後の方につかった構成をgistに記載しておきます。
※その他参考:http://qiita.com/ksoichiro/items/f68e19e70d6635a7be18
とりあえず下記コマンドでLibraryプロジェクトがモリッと出来上がります。
1 |
[sourcecode lang="bash"]./gradlew generateEclipseDependencies[/sourcecode] |
作ったプロジェクトをEclipseで読み込む
書くほどのことかという感じですが一応
通常通り、Eclipse上で「Import」から「Existing Android Code…」を選んで該当プロジェクトを全て読み込みます。
こんな感じになれば成功です。
Gradleがやってくれるビルド前の処理を手動でやる
内容としては
- google-service.jsonをres/valuesに追加する
- Manifestの記載を追加する
この2つです。
あとは普通に実装。
google-service.jsonをres/valuesに追加する
AndroidStudioではjsonを突っ込んおけばビルド時によしなに処理されますが
今回は手動でこれをやります。
1 2 3 4 5 6 7 |
[sourcecode lang="xml"]<string name="google_app_id" translatable="false">XXXXXXXXXXXXXXXXXXXXXXXXXX</string> <string name="gcm_defaultSenderId" translatable="false">XXXXXXXXXXXXXXXXXXXXXXXXXX</string> <string name="default_web_client_id" translatable="false">XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com</string> <string name="firebase_database_url" translatable="false">https://XXXXXXXXXXXXXXXXXXXXXXXXXX.firebaseio.com</string> <string name="google_storage_bucket" translatable="false">XXXXXXXXXXXXXXXXXXXXXXXXXX.appspot.com</string> <string name="google_api_key" translatable="false">XXXXXXXXXXXXXXXXXXXXXXXXXX</string> <string name="google_crash_reporting_api_key" translatable="false">XXXXXXXXXXXXXXXXXXXXXXXXXX</string>[/sourcecode] |
こんな感じになります。
Manifestの記載を追加する
内容ですが、AndroidStudioにビルド時のファイルを見ましょう。
ここにあるやつですね。
パッケージ名は、プロジェクトのものになることに注意です。
ちょっと長いですが、一応参考までにPushを実装するときの構成を含め、諸々の記述を下記に。
https://gist.github.com/seikai/8c7f31ea55a75998852d906933e03edb
ほぼミニマムで、こんな感じですね。
通常の導入に必要な部分も書いていますが、AndroidStudioのときよりも随分色々書いています。
これで完了ですが、あまりやりたくないです。