PC関連のチラ裏

自分用(素人)

Android端末間のLINE移設(rooted)、またやろうと思ったら多少状況が変わってた

chira4.hateblo.jp

わたしの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
  1. 新端末にMagisk導入、ファイラーインストール(X-plore)
  2. 新端末にLINE12.18.0をインストール(現状動く一番古いバージョン)
  3. SSAIDを書き換える
    1. LINEを起動し、即終了、即ストレージ消去してリセット
    2. 新旧端末のsettings_ssaid.xmlを回収する

      メイン: /data/system/users/0/settings_ssaid.xml
      仕事用: /data/system/users/10/settings_ssaid.xml

    3. 新旧端末のsettings_ssaid.xmlをPCのテキストエディタ等でUTF-8として強引に読み、LINEのSSAIDを確認

      jp.naver.line.android の文字列を前後でサンドイッチしてる同じ数値がそれ

    4. 新端末のsettings_ssaid.xmlをバイナリエディタで開く
    5. 新端末のjp.naver.line.androidのSSAIDを旧端末のもので置換
    6. 置換したものを新端末に送り、上書き
  4. LINEのデータファイルを移設する
    1. 旧端末からデータ回収

      メイン: /data/data/jp.naver.line.android/
      仕事用: /data/user/10/jp.naver.line.android/
      もしくは後述の新端末と同じようなパス

    2. 新端末にdatabasesフォルダだけ移設。databases以外は消す方がいいらしい

      メイン: /data_mirror/data_ce/null/0/jp.naver.line.android/
      仕事用: /data_mirror/data_ce/null/10/jp.naver.line.android/

    3. データファイルの所有者やパーミッションを変更
      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/ でも同様に。

  5. 再起動
  6. LINE起動、正常起動を確認

しかし古いバックアップは取っとく価値ありだった・・今後12.18.0やその辺のバージョンが封じられたらもう駄目かもしれないなぁ。
いやでも利用不能にされたバージョンだとしてもアプリさえ立ち上がれば、そこを足がかりにアプデして救えるかも?12.18.0未満のものでもできるかもしれない。知らんけど

2024/12/18追記:
Nexus6P(HavocOSのAndroid11)のバックアップに死蔵されたLINEアカウントを同様の方法で救出してみたところ、LINEバージョン13.6.0では救うことができました。下から試しましたが、多分バックアップがそれくらいのバージョンだった?とりあえずver13台も大丈夫なものはあったということで。上限は試してないので不明。
あとchmod 771 *は不要であることを確認した、すべて600かなにかで大丈夫。
14.12.いくつでも一度試したけど、無理だったかも。かも

 





参考