Android
 Computer >> コンピューター >  >> トラブルシューティング >> Android

ソースコード不要!Androidデバイス向けTWRPの移植方法を徹底解説

TWRPはAndroidデバイスで最も人気のあるカスタムリカバリですが、残念ながらすべてのデバイスで動作が保証された「汎用版」TWRPは存在しません。実際には、デバイスの人気度などの理由により、TWRPが提供されていない端末も数多く存在します。

しかし、自分のデバイス向けのTWRPポートが見つからない場合でも、実は自分で移植するのはそれほど難しいことではありません。このガイドでは、端末のストックリカバリとAndroid Image Kitchenだけを使って、ソースコードなしでTWRPを移植する手順を詳しくご紹介します。

なお、本ガイドではLinux版のAndroid Image Kitchenを使用します。Windows版の手順はやや複雑で、エラーが発生しやすいためです。

また、ソースコードからTWRPをビルドして移植したい場合は、「Android向けTWRPをDIYで移植する方法」のガイドも併せて参照してください。

必要なもの

  • お使いのデバイスのストックリカバリ(recovery.img)
  • TWRPイメージ(おおよその画面解像度に合ったバージョンをダウンロード):
    • TWRP 480×850
    • TWRP 720×1280
    • TWRP 1080×1920
  • Android Image Kitchen(Linux版)

移植手順

  1. まずAndroid Image Kitchenのファイルをダウンロードし、専用フォルダに展開します。
  2. ストックのrecovery.imgファイルを、展開したAIKフォルダの中に配置します。
  3. 展開したフォルダ内で右クリックし、「Open Terminal Here(ここでターミナルを開く)」を選択します。
  4. Linuxターミナルで次のコマンドを実行します。
    ./unpackimg.sh
  5. ストックリカバリイメージが「ramdisk」と「split_img」という2つのフォルダに展開されます。この時点でターミナルは閉じないでください。
  6. 新しく作成されたramdiskフォルダとsplit_imgフォルダを、AIKフォルダの外へ移動します。
  7. AIKフォルダ内にあるストックのrecovery.imgを削除します。
  8. 必要なものセクションでダウンロードしたtwrp_recovery.imgファイルを、AIKフォルダにコピーします。
  9. Linuxターミナルで再度 ./unpackimg.sh を実行します。
  10. twrp_recovery.imgが先ほどと同じように展開されます。
  11. split_imgフォルダ(今回展開したTWRPイメージ側のもので、先ほど移動したストック側ではない点に注意)に入り、中のファイルをすべて削除します。
  12. 続いて、ストックのsplit_imgフォルダからすべてのファイルを、TWRPのsplit_imgフォルダへコピーします。
  13. TWRPのramdiskフォルダから、以下のファイルを削除します。
    default.prop
    fstab.devicename_or_chipsetname
    ueventd.rc
    ueventd.devicename.rc など、その他の類似ファイル
  14. 次に、ストックのramdiskフォルダから、以下のファイルをTWRPのramdiskフォルダへコピーします。
    default.prop
    fstab.devicename
    ueventd.rc
  15. ストックのramdisk/etcフォルダにあるrecovery.fstabをコピーし、TWRPのramdisk/etcフォルダに配置します。
  16. twrp.fstabファイルとrecovery.fstabファイルの両方をテキストエディタで開き、twrp.fstabの各プロパティをrecovery.fstabの内容と一致するように編集します。
  17. この際、「/sdcard」は「/external_sd」に、「/usb」は「/usb-otg」に置き換える必要があります。
  18. これらのパーティションがfstabファイルに存在しない場合は、以下の行を追加してください。
    /external_sd          vfat         /dev/block/mmcblk1p1  flags=removable;storage;display="SDCARD"
    /usb-otg              auto         /dev/block/sda1       flags=removable;storage;display="USB-OTG"
  19. さらに、default.propの以下の行を、表示どおりになるよう編集します。
    ro.secure=0
    ro.adb.secure=0
    security.perf_harden=0
    ro.debuggable=1
    persist.sys.usb.config=adb,mtp
  20. ramdiskフォルダから抜け出し、ターミナルで次のコマンドを実行します。
    ./repackimg.sh
  21. TWRPの.imgファイルが再パックされ、デフォルトでは「image-new.img」という名前で保存されます。必要に応じて名前を変更しましょう。

MediaTekデバイス向けの注意点

注意:ストックのrecovery.imgを展開した後に得られるrecovery.fstabファイルには、OEMによって意図的に仕込まれたと思われる不備が含まれていることがあります。Play Storeから「DiskInfo」アプリとrootエクスプローラーをインストールし、どのパーティションがどの場所・デバイスにマウントされているかを事前に把握しておきましょう。

DiskInfoアプリを起動し、以下の設定が有効になっていることを確認してください。

  • マウントパスを表示
  • パーティション名を表示
  • ファイルシステムを表示
  • エキスパートモード
  • アンマウント済みパーティション
  • Device Mapperパーティション
  • 一時ファイルシステム

次にrootエクスプローラーを起動し、パーティションのパスを確認します。通常は/dev配下にありますが、/systemや/cacheなどの一部のパーティションは、より深い階層に配置されていることがあります。

正確な場所を特定したい場合は、/devディレクトリ内を辿りながら、「mmcblk0p5」のようなパーティション名を検索するとよいでしょう。

recovery.fstabが存在しないデバイスの場合

ストックのrecovery.imgを展開してもrecovery.fstabファイルが生成されない場合は、以下の方法を試してみてください。

まず、ramdisk/etcフォルダを確認します。そこには、リンクシンボルを持つダミーのrecovery.fstabファイルが存在していることがあります。

そのダミーファイルを右クリックして「Show Target(ターゲットを表示)」を選択すると、本来のrecovery.fstabの場所が表示されます。OEMによっては、/vendor/etcフォルダなど、別のフォルダに実体が配置されているケースもあるためです。

  1. 【徹底比較】Androidデータ復元アプリおすすめ16選|消えたデータを確実に復旧

    Androidスマートフォンは、あらゆる難易度のタスクをこなせる万能デバイスです。その中でも特に重要なのがデータ保存機能であり、写真・動画・メール・機密性の高いビジネス文書など、あらゆるデータにいつでもどこでもアクセスできるポータブルな拠点となっています。 しかし、他の電子機器と同様に、Androidスマートフォンもさまざまな原因で不具合が発生し、大切なデータを失ってしまうことがあります。幸い、市販のAndroidデータ復元アプリを活用すれば、失われたデータは簡単に取り戻せます。本記事では、失ったデータを復旧するために選びたい、最高のAndroidデータ復元アプリ16選をご紹介します。 An

  2. ルート化せずにAndroidのIMEI番号を変更する完全ガイド

    スマートフォンのIMEI番号(International Mobile Equipment Identity)は、世界中で稼働している無数のデバイスの中から、あなたの端末を一意に識別するための重要な番号です。固有の端末IDは複製できないため、紛失したスマートフォンを探す際にも大きな役割を果たします。 しかし、さまざまな事情から、ルート化せずにIMEI番号を変更したいと考えるAndroidユーザーは少なくありません。本記事では、その具体的な方法を初心者にもわかりやすく詳しく解説します。最後までお読みいただき、ぜひ参考にしてください。 ルート化せずにAndroidのIMEI番号を変更する方法 I