ITエンジニア見習いのメモブログ

とあるヘッポコエンジニアのメモブログとなります

【Android】versionNameとversionCode情報をapkから取得する

apkしか手元にない状態でどうしてもversionNameとversionCodeを知る必要があったのでメモ。Androidmanifest.xmlをapkファイルから取得して、そこからversionNameとversionCodeを取得します。

 

方法 aaptコマンドを利用する

(aaptコマンドは/sdk/build-tools/sdkバージョン以下に存在します)

 

aapt dump xmltree [apk名] AndroidManifest.xml > [出力テキストファイル名]

 

以上です。 

【adb】アプリのバージョンコードを確認する

前提:端末にアプリがインストールされている

           adbコマンドが使用可能である

 

1. 以下のコマンドでインストールされているアプリのパッケージ名を取得する

adb shell pm list package

 

2. 以下のコマンドで対象パッケージのバージョンコード情報等を確認する

※ バージョンコードだけではなく、バージョンネームや対象sdk等の情報も取得できます。

adb shell dumpsys package <対象パッケージ名>

【adb】logcatをadbで取得する

以下のコマンドでコンソール出力

ログを出力する

$ adb logcat -v time

ログをファイルに出力する

$ adb logcat -v time > filename.txt

-vで表示する情報に時間を追加

【コマンドプロンプト】ファイルのハッシュ値で同一かを判断する

certutilコマンド(Windows Vista/Windows Server2008以降標準付属)を利用して比較する

〇 SHA-1ハッシュ値を求める場合

certutil -hashfile <ファイル名>

〇 その他ハッシュ値の場合

certutil -hashfile <ファイル名> <アルゴリズム名>

アルゴリズム名>=「MD2/MD4/MD5SHA1/SHA256/SHA384/SHA512」のいずれか

 

以上で取得されたハッシュ値を比較し一致すれば、

ファイルが同一と判断することが出来る。

 

【adb】Android設定アプリ起動

Androidにプリインストールされている設定アプリをadbで起動する方法

adb shell am start -a android.intent.action.MAIN -n com.android.settings/.Settings

 

【ブラウザ開発者ツール】submitされたHeader情報やForm Dataを確認する

【やりたいこと】

作成したwebページからデータが意図したもので、POSTもされているかを確認したい

 

【結論】

例) ブラウザ:Google Chrome にて、開発者ツールをF12により起動。

Networkのタブを開いておき、対象webページのsubmit処理を起動する。

HeadersやResponse等に各種情報が表示されるはず

【Android】パッケージ名・クラス名確認方法

パッケージ名とクラス名を一気に確認する方法

方法1. aaptコマンド( sdk/build-tools内にaaptコマンドは存在します )

aapt dump badging <apkファイル指定>
クラス名はlaunchable-activity: nameにて
パッケージ名はpackage: namesにて設定されている文字列となる。
 
結果をテキストファイルに出力する場合は以下のようにする
aapt dump badging <apkファイル指定> > <テキストファイル名>

 Androidのパッケージ名確認方法

方法1. adb shellにてアクセス後、pmコマンドで確認する

pm list package

方法2. Android端末の設定アプリから対象のアプリ情報を直接見る

 Androidクラス名確認方法

AndoridManifest.xml内の

activity android:name="hogehoge"

を確認すればクラス名がわかる