LoginSignup
4
4

More than 5 years have passed since last update.

雑にAPKを管理しやすいファイル名にしたい

Posted at

前置き

よくリリースAPKを作って、Driveに保存したりするのだけど、 app-develop.apk みたいな名前だと管理しにくい。
いい感じの名前に変えてくれる君を書いたのでメモ。

分かりやすい名前

APKの特徴を表す情報がほしい

  • PackageName
  • VersionName

いつ作ったのか知りたい (同じversionでAPK作り直しとかあるので)

  • Year/Month/Day/Hour/Minute/Second

これらを統合して次のような名前のAPKがよさそう

  • <packagename>-<version>-<%Y%m%d%H%M%S>.apk
  • me.mattak.example-0.0.1-20161013112233.apk

Script

apkup
#!/usr/bin/env ruby

AAPT=`find #{ENV['ANDROID_HOME']}/build-tools -type f -name 'aapt' | sort -r | head -1`.chomp
raise "aapt not found" unless File.exist? AAPT

if ARGV.size > 0
  APK_SRC=`find . -type f -name '*.apk' | grep -v unaligned | grep #{ARGV[0]} | peco --select-1 --prompt 'Source>'`.chomp
else
  APK_SRC=`find . -type f -name '*.apk' | grep -v unaligned | peco --select-1 --prompt 'Source>'`.chomp
end

LINE=`#{AAPT} dump badging #{APK_SRC} | grep package:`.chomp
LINE.sub (/name='(\S+)'/) {|it| PACKAGE = $1 }
LINE.sub (/versionName='(\S+)'/) {|it| VERSION = $1 }

FILE="#{PACKAGE}-#{VERSION}-#{Time.now.strftime('%Y%m%d%H%M%S')}.apk"
`cp #{APK_SRC} #{FILE}`
puts FILE

雑にこんな感じの書いて使ってる.
pecoだけinstallが必要なので注意.
APKだけあれば、Directoryの場所を気にせず実行できるのでべんりだ.

apkup.gif

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4