昨日公開したADTプロジェクトなんですが、Github上で見たらインデントがとても恥ずかしいものになっていました。
KLabがPlayground OSSを公開したときに、インデントのタブと半角スペースが混在してて散々失笑を買われていたのを思い出して顔面蒼白してしまったので、これを気にちゃんと設定することにしました。
というか、U100の環境が何もしていなかった。

Eclipseの設定

d0252816_17213236.png


「設定」>「エディター」>「テキスト・エディター」
ここで「タブにスペースを挿入」にチェックを入れて、「表示されるタブ幅」を4に。
「Java以外」のファイルが対応されます。
「空白文字の表示」にチェックを入れておけば、空白がタブによるものか半角スペースによるものかを可視化できるようになります。

d0252816_17215046.png


「設定」>「Java」>「コードスタイル」>「フォーマッター」
編集ボタンを押します

d0252816_1722498.png


ここで「タブポリシー」をスペースのみに設定し、「インデントサイズ」と「タブサイズ」を設定すれば完了です。

ついでにAny Editプラグインを追加します。

d0252816_17223382.png

URI:http://andrei.gmxhome.de/eclipse/

非常に見えづらいですが、いま使っているEclipseのバージョンに合わせたものを選択してインストールしましょう。

d0252816_17225072.png


d0252816_17225883.png


「設定」>「エディター」>「AnyEdit ツール」

ここの自動変換のところで、「タブ<->スペースの変換」をチェックして「タブをスペースに」を選択すると、ファイルを保存するたびにタブをスペースに変換してくれます。便利。

Android Studioの設定

基本的にはタブを一律半角スペース4文字分で入力してくれるため、特に気にすることはありません。


「File」>「Other Settings」>「Default Settings」
「File」>「Settings」

いちおう変えたいorチェックしたい場合は、これで設定画面がでます。
上はデフォルト設定、下はいま使っているプロジェクトでの設定です。

d0252816_17231541.png


とりあえずこれで恥ずかしいインデント表示にならなくなると思います。

ちなみにインデントを半角スペース4文字分にしているのは、Android自体のコードガイドラインを元にしています。
これでさらに恥ずかしくない。

Code Style Guidelines for Contributors | Android Developers

クックパッドのコードガイドラインのコードガイドラインも分かりやすくてオススメです。

styleguide/java.ja.md at master · cookpad/styleguide
[PR]
最近はandroidライブラリ(やテスト、果てはビルドそのもの)を、Gradleを使っての管理するのが一般的になってきたので、Gradle自体の操作を覚えつつ、現在ADTで作った各プロジェクトをGradleでもビルドできるようにしようと思いました。

最終的な目標まで行けてないので、とりあえず現状のメモを残していくことにします。

動作環境
Android SDK Tools 22.6.2
Android SDK Platform-tools 19.0.1
Android SDK Build-tools 19.0.3vi
JDK 1.7

手始めに、まず新規で作ったADTプロジェクトにGradleを入れて、ビルドまでやってみることにします。
いまのADTプロジェクトは、勝手にAppCompat(アクションバー)のライブラリプロジェクトを生成してくれて(こういうテストのときには)便利(だけど実際開発するときはめんどくさい)ですね。

というわけで、「AdtForGradle」というプロジェクトを新規作成して使います。

1. eclipse上でgradleファイルを作成する。
「エクスポート」>「Android」>「Generate Gradle build files」

d0252816_2159485.png


「次へ」でGradleファイルを生成したいプロジェクトの選択画面になるので、「AdtForGradle」にチェックを入れて「次へ」。

d0252816_2203295.png


関連するライブラリにもGradleファイルを作りますか?みたいな確認画面がでてくるので「完了」を押しましょう。

d0252816_2225298.png


d0252816_2234056.png


これで選択したプロジェクトとappcompat_v7(利用しているライブラリプロジェクト)にGradleファイルが出来上がります。

2. Gradleワラッパー一式をコピー
Android SDKが置いてあるディレクトリの「/tools/templates/gradle/wrapper/」以下にある
- gradle/
- gradlew
- gradlew.bat
の3つを、gradle.buildが置いてある階層に、コピーしてきます。
batの方はWin用なので不要なのですが、どの環境でも実行できるように、いちおう置いておきましょう。

3. パス設定
まずコマンドライン上でビルドできるように、JAVA_HOME、ANDROID_HOMEの環境変数を設定します。
JAVA_OPTSでファイルエンコーディング指定もいれておいたほうがいいかも。

# .bash_profile
export JAVA_HOME="/usr/lib/jvm/java-7-oracle"
export ANDROID_HOME="/home/yamacaft/adt-bundle_linux-x86/sdk”
export JAVA_OPTS="-Dgroovy.source.encoding=UTF-8 -Dfile.encoding=UTF-8"


4. コマンドライン上で実行
これであとはgradle.buildの置いてあるディレクトリに移動して

$ ./gradlew clean buildinstallDebug


といれると、プロジェクトがクリーンビルドされ、作成されたデバッグ用apkが端末にインストールされます。
プロジェクトにも、作成されたビルドファイル一式ができています。

d0252816_2264771.png


デフォルトの設定で「リリース用」なるapkもありますが、今回はビルドの話だけなので、無視します(署名がどうなってるかもわからないので)。

5. eclipse上から実行したい場合
いつも使う「実行」ボタンの右にある「外部ツールの実行」のプルダウン部分をクリック>「外部ツールの構成」を選択

d0252816_2291562.png


d0252816_2292470.png

※2枚目に出てるエラーは、ロケーションのところを誤字してミスってるだけなので無視してください。

左カラムにある新規作成アイコンをクリックして、キャプチャの通りに入力します。

-メイン-
名前:(お好きな様に)
ロケーション:${project_loc}/gradlew
作業ディレクトリー:${project_loc}
引数:--daemon ${string_prompt}

-環境-
(新規ボタンを押して以下の2つを追加)

変数:ANDROID_HOME
 値:(シェルで設定したANDROID_HOMEの値)

変数:JAVA_OPTS
 値:(シェルで設定したJAVA_OPTSの値)


これで保存した後に、ビルドしたいプロジェクトを選択したところで、「外部ツールの実行」を押すとビルドが開始されます。

d0252816_22104571.png


途中でこんな画面が出てきますが「clean build buildinstallDebug」と入力すれば、先ほどのコマンドライン上で実行したときと同じ結果になります。

とりあえずこれで、Gradleからでもビルドが出来るようになりました。

さらに自分は諸事情で、このまま「ADTで開発を進めつつ、Gradleでビルド」ということがしたいので、1で生成したGradleファイルのままだと、mavenやGitHubからライブラリが引っ張ってこれなかったりするので、中身を手直しする必要があります。

というわけでここからはまだ検証中なので解説できませんが、とりあえず現時点の内容(上記内容+ButterKnifeの追加)をGithubに公開しました。

yamacraft/Adt_project_for_Gradle

次はJenkinsでビルドするところに入るのか、テストを入れるのか、果ては開発方面に進むかのどれかで考えています。最終的には全部やる予定ではいます。

とりあえずここまで。
[PR]