「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
※ver.2.14.0 編はこちら
※2020/05/16 ファイル名を修正しました。用意したapkファイルのディレクトリでコマンドプロンプトを開き、太字になっているコマンドを実行してください。
前回の続きです。
apk がフォルダに展開されます。この場合、フォルダ名は line_lite になると思います。
コマンド: apktool b [編集済フォルダ名] -o [アプリの名前].apk
編集済フォルダ名は先ほどの line_lite です。作成したいアプリ名を line_lite-rebuilt とします。ですので、具体的には、
コマンド: apktool b line_lite -o line_lite-rebuilt.apk
となります。
手順
1.apkの展開
用意した apk を便宜上、line_lite.apk とリネームします。
コマンド: apktool d line_lite.apkapk がフォルダに展開されます。この場合、フォルダ名は line_lite になると思います。
2.ファイルの置き換え
展開されたフォルダ内の \res\raw にある lineapp_ring_16k.wav を、好みの音楽と置き換えます。
その際、用意した音楽のファイル名を lineapp_ring_16k.wav にリネームしておいてください。
3.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
を使うと良いでしょう。
コメント
コメントを投稿