Android 開発コマンド
Table of Contents
Created by gh-md-toc
エミュレータ
- SDカードイメージを指定してAVDを作成
パス指定
- android create avd -n -t 2 -c
サイズ指定
- android create avd -n -t 2 -c 512M
- エミュレータ起動
emulator -avd
- エミュレータに接続
telnet localhost 5554
- リダイレクト(ホストに届いたパケットをエミュレータに転送)
ホストの 1234ポートに届いたパケットをエミュレータの 5678 に転送。
redir add tcp:1234:5678
- リダイレクトを解除
redir del tcp:1234
- リダイレクトの一覧を表示
redir list
位置情報
- 現在位置を設定
geo fix 135.00 34.500
adb
- シェル起動
adb shell
- 接続されている実機の一覧を表示。
adb devices
- エミュレータと実機の両方が存在する場合に、実機(デバイス)に対してコマンドを発行。
adb -d shell
- エミュレータと実機の両方が存在する場合に、エミュレータに対してコマンドを発行。
adb -e shell
- 複数の実機が接続されている場合に、シリアルNoを指定してコマンドを発行。
adb -s <シリアルNo> shellシリアルNo>
- コマンド実行
adb shell ls -l /
- Activity 起動
adb shell am start -n <Activity のパッケージ/.クラス名>
(例) adb shell am start -n com.package/.Activity
- パッケージ一覧表示
adb shell pm list packages
- パッケージインストール
adb install -r xxx.apk
-r:再インストール
- デバイスの状態を表示
adb bugreport
- デバッグ接続可能なプロセスの一覧を表示
adb jdwp
- 標準出力、エラー出力を使用可能に設定
adb shell stop
adb shell setprop log.redirect-stdio true
adb shell start
ファイル転送
- android のファイルをローカルに転送
adb pull /etc/wifi/wifi.conf .
- ローカルのファイルを android に転送
adb push readme.txt <転送先android上のディレクトリ>転送先android上のディレクトリ>
ログ出力
- ログを継続表示
adb logcat
- ログを一度だけ表示
adb logcat -d
- ログレベルを指定して表示
adb logcat *:E
- 指定可能なログレベル
- V:Verbose
- D:Debug
- I:Information
- W:Warning
- E:Error
- F:Fatal
- S:Silent
- 特定のプログラムに対してログレベルを指定
adb logcat *:E MediaPlayer:D
- ログの書式を指定
adb logcat -v time
- 指定可能な書式
- brief: デフォルト
- process: プロセスIDのみ表示
- tag: タグのみ表示
- thread: スレッドIDも表示
- raw: メッセージのみ表示
- time: 発生日時を表示
- long: すべて表示
- 出力するログバッファを指定
adb logcat -b events
- ログバッファをクリア
adb logcat -c
- ログバッファの容量を確認
adb logcat -g
- ファイル経由せずにログを MacVim で表示
adb logcat -c
adb logcat -v time -d | Vim -g -
APKファイル署名
jarsigner -verbose -storepass <STOREファイルパスワード> -keypass <エイリアスパスワード> -keystore <キーストアファイル名> -signedjar <署名後のファイル名>.apk <署名するファイル名>.apk <キーペアのエイリアス>
-signedjar を省略すると、対象ファイルに署名して上書きされます。
ビルド
JNI
- javah
javah -classpath ../bin/classes -d . pkg.MyClassname
- -classpath native メソッドを定義したクラスがビルドされたディレクトリ
- -d ヘッダーファイルの出力先ディレクトリ
android.mk
application.mk
ndk-build
zipalign
zipalign -v 4 元apk 最適化後apk (例)
zipalign -v 4 sample_org.apk sample.apk
java -jar apktool.jar d 対象apk (例)
java -jar ~/apktool.jar d sample.apk