カテゴリー: gradle

gradleをちょっとだけ触った(´・ω・`)

※いつもの通り、記憶が前後しているのでちょっと流れがおかしいところがあるかも(ノ∀`)

android 5以降ではMediaControlClientが動作しなくなって、代わりにMediaStyleを
使わなくてはいけないらしい。理解力が乏しいおっさんなのでよくわからない(´・ω・`)

取り敢えずサンプルをぐぐる。それらしき
Using Android Media Style notifications with Media Session controls – Tutorial – Binpress
githubから落として来て、解凍する。AndroidDemoProjectsごと持ってきてしまったので、
その中のMediaSessionwithMediaStyleNotificationをeclipseにインポートしようとするも
上手く行かない。Android Studio用かヽ(`Д´)ノ .gradleフォルダがあるのでgradleで
なんか出来んじゃねぇかとgradleをダウンロードしてきてインストールする。

でも使い方がわからない(ヽ’ω`)

gradleの使い方をぐぐる。素直にGradle User Guideを最初から読んで行けばいいのに、
面倒ぐさがってHow to Import Gradle Project into Eclipse – CodeTutrの手順を試したり。

フォルダを掘って、build.gradleを作成して、コマンドプロンプトで
その場所に移動してgradle eclipseを実行。

環境変数 PATHにgradle\binを設定していないので当然動かない(ノ∀`)

設定後に再びgradle eclipseを実行。なんとなく上手く行った模様。

しかし普通のJavaプロジェクトなのにAndroidプロジェクトとして
インポートしようとして失敗したり(ノ∀`)

何はともあれ、build.gradleを作成してgradle eclipseすればいいのか。
このエントリでは後からクラスファイルを作成する形だったので特に問題は起きず。


取り敢えずgradleの一番簡単な使い方はわかった気がしたので再びサンプルをいじる。
gradle eclipseして、srcの方にソースファイルを移してpackageを書き換えたら一応動いたんだったかな?

でまぁ、5.1.1のnexus9では動いた。4.4.2のSH-M01ではエラーで落ちた。
MediaController#getTransportControls()だかのメソッドがなくて落ちたんだったかな?
なんとかcompatとかのライブラリでカバー出来るかどうかよくわからなかったので
バージョンによって動作を変える方法をぐぐる。

android – NotificationCompat.setStyle() can’t get Notification.MediaStyle
がそれ臭いので1fish2/BBQTimer: Android lock-screen stopwatch with periodic alarmsから
zipをダウンロードしてきて解凍して、「喰らえ、gradle eclipseヽ(`Д´)ノ」ってやってみたらなんかエラーが(´・ω・`)

org.gradle.tooling.BuildException: Gradle version 2.2 is required. Current version is 2.10. If using the gradle wrapper, try editing the distributionUrl in D:\download\BBQTimer-master\gradle\wrapper\gradle-wrapper.properties to gradle-2.2-all.zip

gradle-error

どうもインストールしているgradleのバージョンとこのプロジェクトを作成したバージョンが
違うらしい。普通、新しいバージョンなら古いバージョンと互換性があると思うがgradleは違うのだろうか?

何はともあれぐぐる。
java – How to Setup gradle-2.2.1-all.zip Manually
android – Gradle version 1.10 is required. Current version is 2.0

取り敢えずコマンドプロンプトでプロジェクト内のgradlew.bat wrapperを実行すると、
ユーザーディレクトリ\.gradle\wrapper\distsの下に必要なバージョンのgradleを
ダウンロードして来てくれるみたい。そいで自動解凍してくれるみたい。
“sspath”ってなんだべ(´・ω・`)
wrapper-success
その後、gradlew.bat buildを実行してからgradle eclipseした。

初回は確か環境変数”ANDROID_HOME”に
android SDKの場所を設定していなくて失敗したような気がする(ノ∀`)
ANDROID_HOME error


で、まぁインポートしてソースファイルをソースフォルダ?に移動したりして、
実行してみたら、4.4.2で落ちなかったので、このFactoryパターン?のやつをどうにか
すればいいんかなと思いつつ、中々手をつけられない( ´・ω・)

取り敢えずgradleの触り方がちょっとわかったので、それで良しとしよう。