スキップしてメイン コンテンツに移動

注目の投稿

Line をデコードして着信音を直接書き換える(Line lite 編)その1

「Line 無料電話 着信音 変更」と検索して上位に挙がってくるのは、 music.jp 着信音ツール 着うた®・着メロ・着信音設定 Lineミュージック のいずれかを用いる方法ですが、いずれも、Lineと別のアプリを「設定+同時起動」する必要があります。これでは、無駄な手間とアプリのバックグラウンド起動を許すことになり、メモリ・バッテリーを無駄遣いしかねません。さらに後者の方法は、無料期間を過ぎれば有料です。 Line単体で実現するのが理想です。 そのために、中身をいじってしまいましょう。すなわち、 「apkファイル展開→音源差し替え→コンパイル,署名」 で、音源を直接置き換えることにします。 実験課程をまとめますが、今回使用したのは line lite ですのでご注意ください。 (以前までは line 7.15.1 を使っていたのですが、現時点でなぜか再現できていません。個人の力量無さが原因でしょう。コンパイル中にエラーが出てしまいます。line 9.1.1 でも同じでした) ※以下では自分の都合のいいように、ファイル名・パスワードを設定していますので、別の名前やパスワードが良いというこだわりのある方は、その部分につき以下の記述を読み替えてください。 用意するもの Line lite 2.5.1 apktool を使える環境 keytool を使える環境 apksigner を使える環境 記述が長くなるので、2回に分けます。 Line 単体で(別アプリ無しで) 無料電話着信音 オリジナル音源以外への変更手順 コンパイル (Line lite 編) その2 

Line をデコードして着信音を直接書き換える(Line lite 編)その2


※ver.2.14.0 編はこちら

※2020/05/16 ファイル名を修正しました。用意したapkファイルのディレクトリでコマンドプロンプトを開き、太字になっているコマンドを実行してください。

前回の続きです。

手順

1.apkの展開

用意した apk を便宜上、line_lite.apk とリネームします。
コマンド: apktool d line_lite.apk
apk がフォルダに展開されます。この場合、フォルダ名は line_lite になると思います。

2.ファイルの置き換え

展開されたフォルダ内の \res\raw にある lineapp_ring_16k.wav を、好みの音楽と置き換えます。
その際、用意した音楽のファイル名を lineapp_ring_16k.wav にリネームしておいてください。

3.apk の再構築

コマンド: apktool b [編集済フォルダ名] -o [アプリの名前].apk
編集済フォルダ名は先ほどの line_lite です。作成したいアプリ名を line_lite-rebuilt とします。ですので、具体的には、
コマンド: apktool b line_lite -o line_lite-rebuilt.apk
となります。

すると、line_lite-rebuilt.apkが出力されます。このままではAndoroidにインストールできないので、次はこれに署名をしていきます。

4.署名を作成

キーストア名やキーストアパスは何でも構いませんが、便宜的に以下のようにします。
  • キーストア名を line_lite-rebuilt-keystore
  • キーストアパスを 111111
  • キーペア名を line_lite-rebuilt-keypair
  • キーパスを 222222
  • 有効期間を36500日
コマンド: keytool -genkeypair -keystore line_lite-rebuilt-keystore.jks -storepass 111111 -alias line_lite-rebuilt-keypair -keypass 222222 -v -keyalg RSA -keysize 2048 -validity 36500

実行すると、姓名・組織単位等を聞かれますが、Enter で先に進みましょう。
最後に「CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknownでよろしいですか。」と尋ねられるので、y と打ち Enter で先に進みましょう。

コマンドオプションについては勉強不足でよくわかりません。ですが、個人的に使うアプリですので、難しいことを考える必要はありません
なお、オプションの意味は以下のとおりだそうです。参考ページ
  • -genkeypair  旧称 genkey。秘密鍵、公開鍵 (、自己署名証明書) を生成するオプション。
  • -keystore 出力される Java KeyStore (JKS) ファイル名。
  • -alias keystore 内部における keypair の名称。keystore には複数の keypair を格納できる。
  • -v verbose 出力を行う。
  • -keyalg 公開鍵暗号のアルゴリズムを指定する。
  • -keysize 鍵長を指定する。
  • -validity 証明書の有効日数を指定する。36500 は 100 年。
line_lite-rebuilt-keystore.jks が出力されているはずです。

5.署名

署名後の apk ファイルを line_lite-rebuilt.apk とします。

コマンド: apksigner sign --ks line_lite-rebuilt-keystore.jks --v1-signing-enabled true --v2-signing-enabled true line_lite-rebuilt.apk

キーストアのパスワード、キーパスワードを順次尋ねられるので、先ほど設定したものを打ち込みましょう。それぞれ、111111, 222222 です。

Android 7.0 以上では jarsigner ではなく apksigner で署名します。jarsigner で何度も失敗してしまい泥沼にはまってしまったので、ご注意ください。

なお、apkに署名がされたかを確認をる際は、
コマンド: apksigner verify -v line-rebuilt.apk
を使うと良いでしょう。

コメント

このブログの人気の投稿

VHSテープを極力高画質&無劣化でMP4化し、ブルーレイディスクに焼く。

テープの中身をH.264コーデックでキャプチャすることにより、キャプチャデータのコンパクト化と画質の維持、及び無劣化での 切り取り・結合が可能です (以下では単に無劣化編集とします)。H.264はBD規格に対応するので、画質の劣化なしにオーサリングできるのもポイント。 ※aviコーデックのままキャプチャするのが最も高画質ですが、ファイルサイズが大きくなりすぎるため現実的ではないかも。ドライブ容量を圧迫するだけでなく、MP4化する際に動画コーデックを変換することになるため、時間もかかります。アップスケーリングや、フィルタ等を使った高画質化を狙う場合は別として、H.264キャプチャで問題ないと思われます。 手順 1.VHSビデオデッキにアナレコ (gv-usb2)を接続し、アマレコTVを使ってキャプチャ ↓ 2.Aviutlで無劣化切り取り・結合 ↓ 3.オーサリング 1.VHSビデオデッキにアナレコ (gv-usb2)を接続し、アマレコTVを使ってキャプチャ VHSビデオデッキを用意します。 S端子を使う方が高画質で出力できるようなので、できればS端子付きを用意したほうがよさそうです。 ※管理人はコンポジット端子を使いましたが、問題ありませんでした 。 続いて、 「アナレコ」 GV-USB2 を用意します。この機材本体が無いと、VHSテープの映像をPCに入力できません(つまり、アナログ映像をデジタル化できない)。 逆に言うと、この製品本体さえあれば、あとはフリーソフトで事足りるので、アナレコの中でも最安のバリエーションを購入すればいいかと思います。 忘れずに、付属のドライバをインストールしましょう。 H.264コーデック「x264VFW」の使い方と設定方法 を参考に、アマレコTVでH.264キャプチャができる環境を整えましょう。 あとは、用意したデッキにアナレコを接続し、再生を開始してキャプチャを実行するだけ。キャプチャが終わると、動画コーデックがH.264、音声コーデックがpcm、コンテナ(拡張子)がAviのファイルが出力されます。 ※アマレコTVにビデオの映像が表示されない・音が流れない多くの場合、私の経験上、ケーブルの接続不良が原因だと思われます。ケーブルの角度を変えるなどしてみるとよいでしょう。 2.Aviutlで無劣化切り取り・結合 ffmpegでコ...

通知問題に終止符を打ちたい。その6 再起動してもDozeモードの無効化を維持

再起動するとDozeモードが有効化されるので、以下のように方法でDozeモードを維持させましょう。 まず、PCからDozeモードを無効化する場合、以下のコマンドを使います。 adb shell dumpsys deviceidle disable https://forum.xda-developers.com/oneplus-6t/how-to/guide-notification-fix-100-t3865551 再起動するとDozeモードが有効化されるので、それが面倒な場合、何らかの作業が必要です。 ただ、 Disable doze は有料ですし、 Doze Settings Editor は pie に対応していません。Oneplus 6T には、 OOS_Doze_Disabler.zip  という パッチを当てる方法もあるようですが、私の redmi 4 pro に適用できるか不明です。 そこで、普段から使っている  Automagic  の、execute root command アクションで対応することにしました 。

ついに METIS PLUS を手に入れた

現在のPC構成は以下の通りです。 マザーボード GIGABYTE GA-H170N-WIFI CPU Intel Core i3-6300 メモリ Crucial DDR4 2133 4GB ×2 ストレージ Crucial BX200 240GB PCケースには ANTEC ISK-100 を使っていました。 小さい。このコンパクト感は唯一無二です。 ただ、 将来的には動画のエンコードやゲーミング用途に 使いたい。そのためには、ビデオカードを載せられるケースでないといけない。 とはいえ、 スペース的に大きさは抑えたい 。 そこで、人気の METIS PLUS シルバー を購入しました。 外観 組み込み 前回 購入した SilverStone SFX電源ユニット 300W SST-ST30SF-V2 と一緒に組み込みます。 ケースの分解には  Xiaomi Wiha 精密ドライバーセット を使用。 初期モデルなのでWihaのロゴ入り。  アクリル板の取り付けねじだけプラスねじでなく六角ねじなのが謎なので注意。 上部にある3.5インチHDD取り付け用金具を取り外して、空間を作ります。 ちなみに、画像の位置にSSDを設置できます。 すっきりさせたい方は、フルモジュラータイプの電源を使いましょう。 電源の取り付け METIS PLUS の電源取り付け口はATX用になっているので、SFX電源取り付ける際には変換ブラケットが必要です。 SilverStone SFX電源ユニット 300W SST-ST30SF-V2 に付属しているものを使います。 METIS PLUSに取り付けます。 電源ケーブルは、変換ブラケットとケースとの間に潜り込ませるように通すことで、きれいに収まります。若干ケーブルをつぶし気味ですが、致し方ない。 ANTEC ISK-100との比較 拡張性が格段にアップ。 予定 リテールクーラーの交換 エアフローを考えると、サイドフロー型に交換したほうが良いとのこと。とはいえ、今後選ぶ予定のCPU性能(core-i5相当)を考えると、熱を気にする必要はないかも。いずれにせよ要検討。 ファンの増設 トップの通気口に一つ サイドのアクリルパネルを取り外し...