AndroidでAPKファイルのビルド日時を取得する方法

日記に書くネタがないので、今日はプログラミングのお話。

Androidアプリを開発していて、こんなことになっていませんか?キャプチャ2

うおおおおおお、APKにビルドするのはともかく最新版のAPKどれよおおおおおおおwwwwwwwwwwwwまぎらわしいんじゃああああwwwwwwwww

こんなアホなことをやっていたわけで、APKのビルド日時を取得する方法が必要だったので調べてみました。方法はこんな感じ

[java]

public void showUpdateTime(){
ZipFile z;
try{
File f = new File(this.getApplicationInfo().sourceDir);
z = new ZipFile(f);
long time = z.getEntry("META-INF/MANIFEST.MF").getTime();
Date date = new Date(time);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy’年’MM’月’dd’日’kk’時’mm’分’ss’秒’");
Toast.makeText(MainActivity.this, "ビルド:"+sdf.format(date), Toast.LENGTH_SHORT).show();
z.close();
}catch(Exception e){
e.printStackTrace();
}
}

[/java]

AndroidのAPKには必ず署名をする必要があるのですが、その署名が行われる際に生成されるファイル(APKファイル内のMETA-INFフォルダにできるファイル)のタイムスタンプを取得するだけというプログラムですね。なおAPKファイル自体のタイムスタンプだと、ファイルを移動した際などに変更されてしまうので、APKファイルの内部に有るファイルのタイムスタンプを取得する必要があります。
え、何?SVNやgit使えって。そりゃーそーだわなー。あばばばばばばばwwwwwwwwwwwwwww

タイトルとURLをコピーしました