IS12M(RAZR)という2012年発売の3Gスマホが家に転がっておりまして、LineageOS 14.1(Android 7)が入っており、仕事用プロファイルにLINEが入っていたのですが。
起動し動作はするものの、バッテリーは妊娠済、画面はOLED特有の焼付き、恐ろしいほどのモッサリ感、画面をタッチしてもタッチしていない箇所が反応するなど、地獄のような有様となっていたので、移設することにしました。
とはいえ大抵のデータの移設はちょろいもんで、一番大変だったのはLINE、それも仕事用プロファイルで入れたサブのLINEのデータでした。
電話番号も解約済のもので昔取った物だったので、再ログインすることはできず。使っていないアカウントだったので別に消してもよかったのですけど、勉強がてら移設することに。
もちろん要root。
LINEの移設先はUbuntu Touchを入れていたNexus 5にしました。こっちもかなり古いですが、IS12Mよりは相当マシです。Quadrantというベンチマークで10倍ほど性能差があるようです。
わざわざUbuntu Touchまで入れたものの、もう使わなくなっていたので、コイツでいいや。
移設前IS12M(Nougat)での作業
- LINEのデータの回収
メインのプロファイルのLINEはTitanium Backupがぶっちゃけ楽なのですが、仕事用のサブのLINEはTitaniumを使えません。その上現行のTitanium BackupがAndroid13非対応と考えられ、13だとメインプロファイルでも復元後起動しませんでした。
ということでファイラー(X-plore)で開いてzipで固めてUSBメモリやNWドライブ等へ回収します。回収したものを新スマホでパーミッション等修正すると起動できるようになります。
パスは、
メイン: /data/data/jp.naver.line.android
仕事用: /data/user/10/jp.naver.line.android - Android IDの確認
LINEの移設には /data/data/jp.naver.line.android (あるいはその類のディレクトリ)のデータを移設した上でAndroid IDを合わせる必要があるので、元のスマホのAndroid IDは確認する必要があります。
ということで com.appzdevelopers.anddevinfof のアプリで通常と仕事用プロファイルの両方のAndroid ID(16桁の16進数)を確認しておきます。アプリのapkは適当にネットで拾いました。
なおNougatまではファクトリーリセット毎に共通のものが1つ付与され、Oreo以降はアプリ毎に付与されるらしいです。もちろんプロファイル別。ちなみにMigrateというアプリで仕事用ユーザーのデータを移設できるという情報も得たのですが、私ではIS12MにMagiskはおろかSuperSUすら入れられなかったので断念しました。lineageosのaddonsuを入れてしまったからかもしれない。addonsu-removeも試したんですけどね・・
また、Android IDはかつてはTitaniumでストレージの設定からバックアップ取れたらしいですが、Oreo以降はアプリ毎に付与ということなので、8以降はおそらくTitaniumで復元できないんだろうなぁ・・というより、できなくて色々調べる羽目になりました。
移設先Nexus 5の用意
Nexus 5の状況
- バッテリー妊娠
開封しピンセットでバッテリーの表面だけに穴を開けてガス抜き、テープで封。もちろん自己責任。開封時にやらかしたのかモバイルネットワークだけ挙動不審になってしまったけど、まぁNexus5くんにはSIM挿さないしOKです。
- Ubuntu TouchをAndroidに戻す
Ubuntu TouchからAndroidに戻すには、fastbootからGoogleのファクトリーイメージをflash-allするだけ。userdataがどうこうとエラー吐いた気がしましたが、待っていたら普通に起動しました。NGだったらzip内ファイルを手動でflashすれば良い・・らしいです。
- TWRP
以下の新しいverのカスROM導入には/systemの容量を増やさないといけないらしく、xdaの改造版(twrp-3.7.0_9-HH.R.17.img)を利用。
- ROM
xdaに非公式LineageOSがver20(Android 13)まで豊富に用意されていたので、新しい方から順に試行。したところ、Android13で何とかなったので13で。正直10くらいのインターフェースが気に入っている。
LINE移設先(Nexus5)での作業
- TWRPを焼く
fastboot flash recovery twrp-3.7.0_9-HH.R.17.img
TWRP起動後、/system パーティションを広げるためにAdvanced > Terminalから"hh_repart -m"を実行。TWRPの配布フォーラムに詳細あり - USBメモリに以下を用意
- LOSとMagiskを焼く
- TWRPを起動してUSBメモリ接続、USB-OTGをMount
- Format Data含めて全てWipe
- LOSイメージをInstall
- 直後にGappsをInstall
- 一度システム起動、初期設定したらTWRPへ再起動
- LINEのデータのzipを内部ストレージ(/sdcard)にコピー
- Magiskをインストール。初回起動前にインストールしても入らないっぽい(or認識遅い?)
- システム起動して、MagiskアプリからMagiskを再導入(直接インストール)。要ネットワーク
- システム再起動
- Google PlayにログインしてLINE、Island、X-ploreをインストール
- LINEのデータを移設する
- メインと仕事用のLINEをそれぞれ正常起動させる。(Android IDの項目の生成)
- LINE終了、設定から各LINEのストレージを消去。
- X-ploreでAndroid IDが生成されているのを確認する。
メイン: /data/system/users/0/settings_ssaid.xml
仕事用: /data/system/users/10/settings_ssaid.xml - LINEのデータを復元する。
jp.naver.line.android のzipファイル2つをそれぞれのプロファイルの位置に展開する。まだLINEは起動しないこと。
メイン: /data/data/jp.naver.line.android
仕事用: /data/user/10/jp.naver.line.android
アプリデータがそこになかったら /data_mirror/null にあるかも?
Android12以下の場合はメインプロファイルはTitanium Backupの方が以下の作業不要で楽。 - 再起動しTWRPへ。
- Android ID(SSAID)を書き換える
Advanced > File Managerで上記の settings_ssaid.xml をEditし、jp.naver.line.androidの項目のvalueとdefaultValueの値を、旧スマホのAndroid IDに書き換える。
エディタの機能なのか勝手に改行されるけど修正する。もしかしたらX-plore上で編集したファイルを/sdcardにでも保存して、TWRP上で上書きすれば十分かもしれないけど試してない。
Android上で編集すると再起動で元の値に上書きされるので、TWRPで作業した方がいい。 - LINEのデータのパーミッションを書き換える
Advanced > Terminal でターミナル起動
cd /data/data #メインプロファイル ls -l #owner確認。"u0_a123"みたいになってる cd jp.naver.line.android chown -R u0_a123:u0_a123 * #グループと所有者をu0_a~~~にする。u0_a123は確認したものに適宜変更 chmod -R 771 * #アクセス権限を全て771にする。700とか660とか色々なファイルあったけど、全て771で動いたのでヨシ cd /data/user/10 #仕事用プロファイル ls -l #owner確認。"u10_a123"みたいになってる cd jp.naver.line.android chown -R u10_a123:u10_a123 * #グループと所有者をu10_a~~~にする。u10_a123は確認したものに適宜変更 chmod -R 771 * #アクセス権限を全て771にする。700とか660とか色々なファイルあったけど、全て771で動いたのでヨシ
- システム起動、X-ploreでAndroid IDやパーミッション等が書き換わっているかチェック。Androidから見ると所有者が数字に変更されていますが、グループが書き換わっているので大丈夫かも。
- LINE起動、成功したらかつてのトークが表示される。された
- 成功確認したらTWRPに入って丸ごとバックアップ!
[APP][ROOT][5.0+][1st Nov 2020] Migrate - custom ROM migration tool | XDA Forums
マルチユーザー対応のsuアプリが使えてMigrateが使えたら、Migrateの方がお手軽なんだろうなぁとは思います。
Androidのこと何もわからないですが、とりあえずメイン/仕事用プロファイルの2つのLINEを再ログインすることなく移設出来たので、一般人的には達成感あり。
IS12M、さすがに性能がなさすぎて何にも使えませんし、どうしましょう・・捨てるしかねえ。
参考文献
- Flashing Nexus 5 factory image fails on writing userdata - Android Enthusiasts Stack Exchange
- 仕事用プロファイルを使用する | Android オープンソース プロジェクト | Android Open Source Project
- [ROM][UNOFFICIAL] LineageOS 20.0 for Nexus 5 (hammerhead) [DISCONTINUED] | XDA Forums
- [RECOVERY][UNOFFICIAL] TWRP HH for Nexus 5 (hammerhead) [DISCONTINUED] | XDA Forums
- Most of /data/data/ is invisible · Issue #5331 · d4rken-org/sdmaid
- LINE(ライン)を複数のAndroid端末で同一アカウントを共有する裏ワザ(要Root)。 - アンドロイドラバー (かつてのAndroidの情報)
- [APP][8-13][ROOT] AndroidIDeditor - device ID changer | XDA Forums
- tkleblog.blog26.fc2.com SC-02F LineageOS17(android10) root magisk設定変更履歴
- How to change ANDROID_ID on Android 8+ (Oreo) with ROOT | by Yuriy Mysochenko | Medium
- [APP] Android Device-ID | XDA Forums