この文書の現在のバージョンと選択したバージョンの差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
android:command [2017/08/27 22:43] ko322jp [位置情報] |
android:command [2017/08/27 22:57] (現在) ko322jp [ビルド] |
||
|---|---|---|---|
| ライン 60: | ライン 60: | ||
| adb shell start</code> | adb shell start</code> | ||
| - | ファイル転送 | + | ===== ファイル転送 ===== |
| - | android のファイルをローカルに転送 | + | * android のファイルをローカルに転送<code> |
| - | adb pull /etc/wifi/wifi.conf . | + | adb pull /etc/wifi/wifi.conf .</code> |
| - | ローカルのファイルを android に転送 | + | * ローカルのファイルを android に転送<code> |
| - | adb push readme.txt <転送先android上のディレクトリ> | + | adb push readme.txt <転送先android上のディレクトリ></code> |
| - | ログ出力 | + | |
| - | ログを継続表示 | + | ===== ログ出力 ===== |
| - | adb logcat | + | |
| - | ログを一度だけ表示 | + | * ログを継続表示<code> |
| - | adb logcat -d | + | adb logcat</code> |
| - | ログレベルを指定して表示 | + | * ログを一度だけ表示<code> |
| - | adb logcat *:E | + | adb logcat -d</code> |
| - | 指定可能なログレベル | + | * ログレベルを指定して表示<code> |
| - | V:Verbose | + | adb logcat *:E</code> |
| - | D:Debug | + | * 指定可能なログレベル\\ V:Verbose\\ D:Debug\\ I:Information\\ W:Warning\\ E:Error\\ F:Fatal\\ S:Silent |
| - | I:Information | + | * 特定のプログラムに対してログレベルを指定<code> |
| - | W:Warning | + | adb logcat *:E MediaPlayer:D</code> |
| - | E:Error | + | * ログの書式を指定<code> |
| - | F:Fatal | + | adb logcat -v time</code> |
| - | S:Silent | + | * 指定可能な書式\\ brief: デフォルト\\ process: プロセスIDのみ表示\\ tag: タグのみ表示\\ thread: スレッドIDも表示\\ raw: メッセージのみ表示\\ time: 発生日時を表示\\ long: すべて表示 |
| - | 特定のプログラムに対してログレベルを指定 | + | * 出力するログバッファを指定<code> |
| - | adb logcat *:E MediaPlayer:D | + | adb logcat -b events</code> |
| - | ログの書式を指定 | + | * ログバッファをクリア<code> |
| - | adb logcat -v time | + | adb logcat -c</code> |
| - | 指定可能な書式 | + | * ログバッファの容量を確認<code> |
| - | brief: デフォルト | + | adb logcat -g</code> |
| - | process: プロセスIDのみ表示 | + | * ファイル経由せずにログを MacVim で表示<code> |
| - | tag: タグのみ表示 | + | |
| - | thread: スレッドIDも表示 | + | |
| - | raw: メッセージのみ表示 | + | |
| - | time: 発生日時を表示 | + | |
| - | long: すべて表示 | + | |
| - | 出力するログバッファを指定 | + | |
| - | adb logcat -b events | + | |
| - | ログバッファをクリア | + | |
| adb logcat -c | adb logcat -c | ||
| - | ログバッファの容量を確認 | + | adb logcat -v time -d | Vim -g -</code> |
| - | adb logcat -g | + | |
| - | ファイル経由せずにログを MacVim で表示 | + | |
| - | adb logcat -c | + | |
| - | adb logcat -v time -d | Vim -g - | + | |
| - | APKファイル署名 | + | ===== APKファイル署名 ===== |
| - | jarsigner -verbose -storepass <STOREファイルパスワード> -keypass <エイリアスパスワード> -keystore <キーストアファイル名> -signedjar <署名後のファイル名>.apk <署名するファイル名>.apk <キーペアのエイリアス> | + | jarsigner -verbose -storepass <STOREファイルパスワード> -keypass <エイリアスパスワード> -keystore <キーストアファイル名> -signedjar <署名後のファイル名>.apk <署名するファイル名>.apk <キーペアのエイリアス>\\ |
| -signedjar を省略すると、対象ファイルに署名して上書きされます。 | -signedjar を省略すると、対象ファイルに署名して上書きされます。 | ||
| - | ビルド | + | ===== ビルド ===== |
| - | build.xml を生成 | + | * build.xml を生成<code> |
| - | android update project -p <プロジェクトのパス> -n <プロジェクト名> | + | android update project -p <プロジェクトのパス> -n <プロジェクト名></code>(例)<code> |
| - | (例) android update project -p /usr/local/android-ndk-r7/samples/hello-jni -n hello-jni --target 8 | + | android update project -p /usr/local/android-ndk-r7/samples/hello-jni -n hello-jni --target 8</code>AndroidManifest.xml に target 指定がない場合は、次のメッセージが表示されますので、target(Android SDK のバージョン)を指定します。<code> |
| - | AndroidManifest.xml に target 指定がない場合は、次のメッセージが表示されますので、target(Android SDK のバージョン)を指定します。 | + | Error: The project either has no target set or the target is invalid.</code> |
| - | Error: The project either has no target set or the target is invalid. | + | * その後、ant を実行してビルドします。<code> |
| - | + | ||
| - | その後、ant を実行してビルドします。 | + | |
| adb clean debug | adb clean debug | ||
| - | adb clean release | + | adb clean release</code> |
| - | + | * release ビルドする場合は、ant.properties をプロジェクトに作成して署名の情報を記述します。<code> | |
| - | release ビルドする場合は、ant.properties をプロジェクトに作成して署名の情報を記述します。 | + | |
| key.store=/home/hoge/my.keystore | key.store=/home/hoge/my.keystore | ||
| key.alias=samples | key.alias=samples | ||
| key.store.password=storepass | key.store.password=storepass | ||
| - | key.alias.password=aliaspass | + | key.alias.password=aliaspass</code> |
| - | + | * JNI<code> | |
| - | JNI | + | |
| javah | javah | ||
| - | javah -classpath ../bin/classes -d . pkg.MyClassname | + | javah -classpath ../bin/classes -d . pkg.MyClassname</code>-classpath native メソッドを定義したクラスがビルドされたディレクトリ\\ -d ヘッダーファイルの出力先ディレクトリ<code> |
| - | -classpath native メソッドを定義したクラスがビルドされたディレクトリ | + | |
| - | -d ヘッダーファイルの出力先ディレクトリ | + | |
| android.mk | android.mk | ||
| application.mk | application.mk | ||
| - | ndk-build | + | ndk-build</code> |
| - | + | * zipalign\\ zipalign -v 4 元apk 最適化後apk\\ (例)<code> | |
| - | zipalign | + | zipalign -v 4 sample_org.apk sample.apk</code> |
| - | + | * apktool<code> | |
| - | zipalign -v 4 元apk 最適化後apk | + | java -jar apktool.jar d 対象apk</code>(例)<code> |
| - | (例) | + | java -jar ~/apktool.jar d sample.apk</code> |
| - | zipalign -v 4 sample_org.apk sample.apk | + | |
| - | apktool | ||
| - | java -jar apktool.jar d 対象apk | ||
| - | (例) | ||
| - | java -jar ~/apktool.jar d sample.apk | ||