Android Hacks - Hack40

13
ANDROID HACKS #40 Eclipse ををををを ををををを ををTatsuki Higashi Twitter : @htk16 22/08/25 1

description

「Android Hacks ―プロが教えるテクニック & ツール」(株式会社ブリリアントサービス 著)を教材とした勉強会でのまとめ資料です。http://www.oreilly.co.jp/books/9784873114569/

Transcript of Android Hacks - Hack40

Page 1: Android Hacks - Hack40

ANDROIDHACKS#40 Eclipseを使わずに

ビルドする担当: Tatsuki Higashi

Twitter : @htk16

23/04/08

1

Page 2: Android Hacks - Hack40

この資料について• この資料は下記の本をベースに勉強会で作成した資料です。

• 『 Android Hacks』(株式会社ブリリアントサービス著、オライリー・ジャパン刊)

• この本の紹介ページが下記にあります。

• http://www.oreilly.co.jp/books/9784873114569/

23/04/08

2

Page 3: Android Hacks - Hack40

アジェンダ• なぜ Eclipseを使わないのか

• コマンドラインから Android SDKツールを使ってビルドする

• 新規 Androidプロジェクトを作成する• 既存のプロジェクトを更新する• Androdiプロジェクトをビルドする

23/04/08

3

Page 4: Android Hacks - Hack40

なぜ Eclipseを使わないのか

• Emacs / Vim 使いたい

• scala や clojureで開発するので Eclipse にこだわる必要がない

非 Android + ADT plugin 以外の開発環境を使う場合は

コマンドラインツールを使用する

23/04/08

4

Page 5: Android Hacks - Hack40

コマンドラインから Android SDKツールを使ってビルドする

(注)

Android SDKの tools/ と platform-tools/ に

パスを通しておくこと

主要コマンド

• android Androidプロジェクトの作成 / 更新AVDの作成 / 移動 / 削除

• emulator エミュレータ

• adb Android Debug Bridge

• ddms Dalvik Debug Monitor Server

23/04/08

5

Page 6: Android Hacks - Hack40

ANDROIDコマンド

action:

•list

• avd• target

•create

• avd• project• test-project• lib-project

•update

• avd• project• test-project• lib-project• adb• sdk

•move / remove• avd

23/04/08

6

android [global options] action [action options]

Page 7: Android Hacks - Hack40

新規 Androidプロジェクトを作成する• ビルドターゲットの確認

プロジェクト作成には target id が必要になるので記録しておく

23/04/08

7

$ android list targetsAvailable Android targets:id: 1 or "android-7" Name: Android 2.1-update1 Type: Platform ...id: 2 or "Google Inc.:Google APIs:7" Name: Google APIs ...

Page 8: Android Hacks - Hack40

新規 Androidプロジェクトを作成する• android create project [action options]

• --name プロジェクト名• --target ビルドターゲット (必須 )• --path プロジェクトディレクトリ.

無ければ作成される (必須 )• --activity デフォルト Activity名 (必須 )• --package プロジェクトのパッケージ名前空間

(必須 )

23/04/08

8

$ android create project ¥> --terget 1 ¥ // Android 2.1> --path ./myProject ¥ > --activity MyActivity ¥ > --package com.example.project

Page 9: Android Hacks - Hack40

生成されるファイル群• AndroidManifest.xml

• アプリケーションのマニフェストファイル• プロジェクトの Activityクラスと同期される

• build.xml

• Ant用のビルドファイル• default.properties

• ビルドシステム用のプロパティ.変更禁止• build.properties

• ビルドシステム用のカスタマイズ可能なプロパティ• この設定で Antのデフォルトの設定をオーバーライドする

• local.properties

• SDKのパスを記録

23/04/08

9

Page 10: Android Hacks - Hack40

生成されるディレクトリ群• bin/ ビルドスクリプト用の出力ディレクトリ

• gen/ Ant が生成するファイル (R.javaなど )が含まれる

• libs/ プライベートライブラリを含む

• res/ プロジェクトリソースを含む

• src/ ソースコードが含まれる

• src/com/example/myproject/MyActivity.java• プロジェクト作成時に指定し,生成された Activityクラス

• test/ テスト用に,生成されたディレクトリ,ファイル全ての

複製が含まれる

23/04/08

10

Page 11: Android Hacks - Hack40

既存のプロジェクトを更新する

• android update project [action options]

• --path プロジェクトのパス (必須 )• --library 関係するライブラリのディレクトリを追加

• --name プロジェクト名• --target ビルドターゲット• --subproject テストプロジェクトなど,サブフォルダの

プロジェクトを更新する

23/04/08

11

$ android update project ¥> --target 2 ¥ // id:2の SDKへアップデート> --path ./myProject

Page 12: Android Hacks - Hack40

Androdiプロジェクトをビルドする• デバッグモード : ant debug

• debugキーを用いて署名を行う• エミュレーター,端末上のシステムにインストール可• 公開,配布不可

• リリースモード : ant release

• 非公開キーを使用して手動で署名を行う• エミュレーター,端末上のシステムにインストール可• 公開,配布可

23/04/08

12

Page 13: Android Hacks - Hack40

その他コマンド• AVD 作成 (#Hack 4)

• android create avd –n <name> -t <targetID> [-<option>

<value>]...

• Emulator 起動 (#Hack 4, 5)

• emulator –avd <avd_name> [-<option> <value>] ...

• ADB からアクティビティを起動させる (#Hack 7)

• adb shell am start –n パッケージ名 /. クラス名

23/04/08

13