2015年02月23日

Android版「ラブライブ!」用ツール「ラブアルバム!」作成

・ラブアルバム!(要root環境端末単体版) Ver.1.0
apkファイル

Android版「ラブライブ!スクールアイドルフェスティバル
(以下、スクフェスと表記)
のアルバム画面から、こんな↓画像を生成するツールです。
LoveAlbumSample.png

初めにお断りさせて頂きますが、本ツールは要root環境ですが、
スクフェスをroot環境で起動させる方法についてのご質問には一切返答致しません。
あらかじめご了承ください。
また、このツールは完全に技術的興味の為だけに作成しており、
実用性は無いに等しい事をご理解ください。

のっけからこんなカンジで激しく使い手と動作環境を選ぶツールですので、
それでも興味のある人柱精神旺盛な方のみ続きをお読みください。

正直、自分の環境でしか動かない可能性もあるので、
自分の動作環境を例に、使用方法や注意点について
なるべく詳しく書こうと思います。長文注意。

○動作確認環境
・端末…HTL22(HTC One J)
・OS…Android 4.4(KitKat)
 4.0(ICS)以上なら動くと思います。
・画面解像度…1920x1080
 1280x720でも動くと思います。それ以外は不明。
・画面の向き…縦画面(Portrait)が標準の端末である事。
 横画面(Landscape)が標準の端末(タブレット等)では動作しません。
・別途「OpenCV Manager」のインストール
 未インストールの場合、本ツール初回起動時に
 Google Playの該当ページに誘導されます。
・当然ながら要root環境。

○使用方法
1,スクフェスを起動しアルバム画面を開き、
 表示モードの変更や昇順・降順の設定をしておきます。
 また、右下の総部員数の分母の数値を覚えておきます。
2,本ツールを起動し、先程の数値を入力し実行ボタンを押します。
3,後は処理完了ダイアログが表示されるまで、
 画面には絶対に触れずただひたすら待ちます。
4,数値入力で、「1」(画像生成ができるかどうか)や、
 「20」(自動スクロールができるかどうか)等を入力することで
 短時間で終わる動作確認をする事ができますので、
 まずそれらをお試しください。
5,スクフェスのアルバム画面を最初のページ以外にしておき、
 少ない数値を入力することで好きな画面だけの画像を
 生成する事ができます。
 ぶっちゃけ、数値「18」=「1」ページ、です。

○終了方法
・実行ボタンを押す前であれば、Backキーで終了します。
・処理完了ダイアログの「終了」を押せば終了します。
・処理完了ダイアログの「共有」を押し、
 選択したアプリを終了すればそれと共に終了します。
・処理実行中に中断し終了する方法はありません。
 実処理部分はサービスとして動いている為、
 プロセスをKillするアプリを使用するなり、
 端末の電源を切るなりして中断してください。
 その場合、作業用ファイルが/data/loca/tmp/配下に
 残ったままになりますので、手動で削除してください。

○生成画像ファイル
・環境にもよりますが、/sdcard/LoveAlbum/配下に
 「LoveAlbum_[タイムスタンプ].png」として保存されます。
 詳しくは処理完了ダイアログのメッセージをご覧ください。

○動作イメージ及び使用説明動画

端末画面の動画なので分からないとは思いますが、
アルバム画面のスクロールは本ツールで自動的に行っています。
00:40〜05:40の間はただ画面がスクロールしているだけなので
飛ばしちゃって結構です。
※「screenrecord」コマンドが画面回転に対応してなくて詰みかけましたが、
 愛用の「Rec. (Screen Recorder)」でなんとか撮れて一安心w

○既知の不具合
・最終ページとその直前のページの重ね合わせに失敗する事がある。
 部員アイコンが少なく空白ばかりの場合はまず失敗します。
 また、部員が変わっていない状態でも、実行する度に
 重ね合わせが成功したり失敗したりする不安定な状態です。
 今の所原因が全く分らないので、成功したらラッキー程度に思うか、
 成功するまで繰り返し実行してください。ホントごめんなさい。
※正直、最終ページに関しては、それだけ別画像として保存し、
 手動で編集が安全で確実だと思うのですが、
 それだと今回最大のテーマであるOpenCVが要らなくなってしまうので…。
・思い付かない&書き切れないだけで、多分不具合だらけです。

○今後の展望とか
・わざわざ(要root環境端末単体版)としたのは、
 非root環境でもPCとのADB接続環境があれば、
 似たような事が実現可能だと思うので、
 そのバージョンを作ってみたい。
・対応端末を増やしたい。
 「screencap」コマンドで アルバム画面のスクリーンショットを
 png形式で保存したサンプルがあれば、ある程度は対応していけるのですががが。
・自動で数値(ページ数)を取得したい。
 元々は自動で取得していたのですが、スクフェス本体のアプデで
 アルバム画面のUIが変更になった為、
 それまで書いていた処理が使えなくなり、やむなく手動入力に…。
・この記事を書いている間に「OpenCV Manager」を
 インストールしないで済む方法を見つけてしまったので実装してみたい。
・生成画像のサイズ倍率、最終ページ重ね合わせなどを
 設定で指定できるようにしたい。
・画像の横幅が8の倍数にならない事があるのが
 個人的に気持ち悪いので修正したい。
・「消滅都市」用にも似たようなツールを作りたい。

○ソースコードの公開
・面倒なのでしませんでしたが、リクエストがあればアップします。
 クソ汚いコードで見れたものじゃありませんが…。


取り敢えず本ソフトについての必要な情報は以上だと思います。
ここまで読んで下さった方、それだけでありがとうございます。
でもまだ駄文は続きますので、本当にお暇な方だけどうぞ〜。


本ツールを作るきっかけは、以前@Scr1bble_Man氏がTwitter上にて、
手動でアルバム画面の連結画像を作り公開しているのを見た事です。
自分でも所持部員の確認用にそういう画像欲しいけど、
手動でスクショ撮影して編集するのは面倒だから
プログラムを書こうと思った訳ですが、
一度きりなら手動で画像編集した方が遥かに楽でしたわコレ。
まぁでもプログラマ的には間違ってなかったと思います。
あと、最終ページの画像重ね合わせにOpenCVを使ったのですが、
それを含め画像処理について@hiroi01氏に数々の助言を頂きました。
このお二方にはサンプルのスクショ画像も多数提供して頂いたりと、
お二方が居なければ本ツールは日の目を見なかったと思います。
ご協力、本当にありがとうございました!!

「今後の展望とか」なんて書いてしまいましたが、
取り敢えず動くモノが作れたので満足してしまっていますw
でも「消滅都市」用は必ず作ろうと思います!w

今度こそ以上ですw
ここまで読んで下さった方、本当にありがとうございました!
m(_ _)m
posted by yakou at 12:10| Comment(0) | Android | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。