わたしのPixel3、8月頃からDevice-state: error!で完全に起動しなくなってしまいまして。
今回Pixel3のバックアップファイルからarrowsWe2にLINE移設しようと思ったら、上記の前回(LINE ver11.12.0だったらしい)よりも色々と変わっていて手間取りました。
- settings_ssaid.xmlがxmlファイルとして読みにくくなってた
Android12からAndroid Binary XML(ABX)というのに変わったらしい。Nexus5のAndroid13は読めてたような・・LOSだから?暗号化されてはなさそうなのでバイナリエディタでは安全に弄れそう
- アプリデータの位置が/data/data/(や/data/user/10/)から/data_mirror/~に変わってた
Android11くらいから、新しいAPIで/data_mirror/~に入るようになったらしい。Pixel3のTWRPバックアップ見たら/data/data/とかに入ってるけど・・rootなら問題なく読み書きできた
- 最近はLINEバージョンが新しいだけで弾かれるらしい
ある程度は古いLINE→古いLINEで移設してからアプデしないといけないかもしれない。最新LINE(14.21あたり)に直接移設しようとしたがコケ続けた。今後はこの手法も厳しそうなのかな
というわけで手順の備忘録
旧端末はPixel3(のTWRPバックアップ)、新端末はarrowsWe2(Android14)。仕事プロファイルの分も移設する。
Windowsとのデータ転送はX-ploreでCIFS使うと本当に楽。
移設元 端末 : Pixel3、ROMは公式のAndroid12 ソース: TWRPバックアップ @2022/10/16 (2024のは移設できなかった) LINE : apkの更新日時が2022/9/18なので12.15かそれ以下のはず 移設先 端末 : arrows We2、ROMは公式のAndroid14
- 新端末にMagisk導入、ファイラーインストール(X-plore)
- 新端末にLINE12.18.0をインストール(現状動く一番古いバージョン)
- SSAIDを書き換える
- LINEを起動し、即終了、即ストレージ消去してリセット
- 新旧端末のsettings_ssaid.xmlを回収する
メイン: /data/system/users/0/settings_ssaid.xml
仕事用: /data/system/users/10/settings_ssaid.xml - 新旧端末のsettings_ssaid.xmlをPCのテキストエディタ等でUTF-8として強引に読み、LINEのSSAIDを確認
jp.naver.line.android の文字列を前後でサンドイッチしてる同じ数値がそれ
- 新端末のsettings_ssaid.xmlをバイナリエディタで開く
- 新端末のjp.naver.line.androidのSSAIDを旧端末のもので置換
- 置換したものを新端末に送り、上書き
- LINEのデータファイルを移設する
- 旧端末からデータ回収
メイン: /data/data/jp.naver.line.android/
仕事用: /data/user/10/jp.naver.line.android/
もしくは後述の新端末と同じようなパス - 新端末にdatabasesフォルダだけ移設。databases以外は消す方がいいらしい
メイン: /data_mirror/data_ce/null/0/jp.naver.line.android/
仕事用: /data_mirror/data_ce/null/10/jp.naver.line.android/ - データファイルの所有者やパーミッションを変更
adb shell su cd /data_mirror/data_ce/null/0/ ls -l jp.naver.line.androidの所有者を確認(u0_aXXXみたいなやつ) cd jp.naver.line.android/ chown -R u0_aXXX:u0_aXXX * #確認したやつ chmod 771 * #不要だったのでやらなくてよい exit exit
仕事用の /data_mirror/data_ce/null/10/ でも同様に。
- 旧端末からデータ回収
- 再起動
- LINE起動、正常起動を確認
しかし古いバックアップは取っとく価値ありだった・・今後12.18.0やその辺のバージョンが封じられたらもう駄目かもしれないなぁ。
いやでも利用不能にされたバージョンだとしてもアプリさえ立ち上がれば、そこを足がかりにアプデして救えるかも?12.18.0未満のものでもできるかもしれない。知らんけど
2024/12/18追記:
Nexus6P(HavocOSのAndroid11)のバックアップに死蔵されたLINEアカウントを同様の方法で救出してみたところ、LINEバージョン13.6.0では救うことができました。下から試しましたが、多分バックアップがそれくらいのバージョンだった?とりあえずver13台も大丈夫なものはあったということで。上限は試してないので不明。
あとchmod 771 *は不要であることを確認した、すべて600かなにかで大丈夫。
14.12.いくつでも一度試したけど、無理だったかも。かも
参考