2015年3月18日水曜日

[android]volleyの.jarをつくる


Android working with Volley Library
をみてvolley.jarを作っていたのですが、
しばらくみていない間にvolleyはGradleを使うようになったようで
android update project -p .
では.jarがつくられなくなったようです。
Error: . is not a valid project (AndroidManifest.xml not found).

volleyプロジェクトを作成したAndroidプロジェクトにsubmoduleとして追加・設定する
方法をみなさん推奨されているようです。
Androidプロジェクトを新規作成してVolleyが使えるようになるまで
Android Studio で Volley を使う

ここでは時代と逆行するように、volley.jarの作成方法(正直怪しい)をご紹介します。
このやり方がいつまで通用するかわかりませんし、このやり方は面倒くさいです。

必要なもの
・git
・Android Studio


1. 適当な場所でgit cloneする
> git clone https://android.googlesource.com/platform/frameworks/volley  # volleyディレクトリが作られる

2. branchをわける(一応。やらなくてもいい)
> cd volley
> git checkout -b studio

3. Android Studioにインポートする
3-1. Import project (Eclipse ADT, Gradle, etc.)

3-2. Gradle wrapperを使うかどうか聞かれるので、迷わず OK

3-3. SDKとかbuild toolsとかで足りないものがあればインストールするように促されるので、迷わずインストールする

3-4. この時点で下記のものが追加されている
    gradle/
gradlew
gradlew.bat

3-5. build.gradleのcom.android.tools.build:gradleのバージョンを書き換える。⇒ 画面の下のほうで青下線を迷わず押す。
Error:The project is using an unsupported version of the Android Gradle plug-in (0.14.4). The recommended version is 1.1.0.
Fix plugin version and re-import project


build.gradleが書き変わる。

使っているAndroid Studioのバージョンだか、Android Gradle plug-inの進化だか、
メッセージは異なるとおもわれる。
今後のvolleryの更新で、あらかじめbuild.gradle内のcom.android.tools.build:gradleのバージョンの記述によっては表示されないこともあるとおもわれます。

4. gradlewに実行権を与える(Windowsはgradlew.batを使うのでしょうか試していないです)
> chmod +x gradlew

5. ビルドする
> ./gradlew clean
> ./gradlew assembleRelease # ./gradlew aR でもいいみたいです。
# volley/build/outputs/aar/volley-release.aarができます。
Android Studio で簡単に jar をつくる手順はないのかと
を参考にしました

ちなみに
> ./gradlew tasks
とやるとタスク一覧が表示されます。

6. volley-release.aarを解凍する -> classes.jarがでてくるのでこれをvolley.jarと名前を変えておけばよいとおもいます。

あとはこのvolley.jarを自分のプロジェクトに組み込んで使ってください。

7. 後始末
volleyフォルダごと消してもよいでしょうし、studioブランチを消しておけばよいとおもいます。
> git add .
> git commit -m 'fake comit'
# 上はAdd/コミットしていますがそうはせずに、追加されたファイルを消してgit checkout -- build.gradle とかで元に戻す方法でもよいとおもいます。
> git checkout master
> git branch -D studio
とでもやればきれいな身体(volley)に戻ります。

あとはたまに
> cd volley
> git checkout master
> git fetch origin
> git rebase origin/master
とでもやって最新を取得して、1からやり直せば最新のvolley.jarが手に入ります。

0 件のコメント:

コメントを投稿