iPhoneで「Android」を動かして遊ぶっ!!インストール&起動する方法【Project Sandcastle】

(102)

checkra1n 0.9.8.1 betaにアップデートされ「Project Sandcastleに対応」となりました。
なんだそれ…?という名前かもしれませんが、こちら、iPhoneでAndroidを動かそうぜ!!というおもしろプロジェクト!

実際に本プロジェクトのベータ版もリリースされましたが、まだまだ実用には厳しく、不具合も残っているため、現時点での使用はオススメ出来ません。

でも…気になるよね!!ということで、遊んでみた!!!(インストール方法などの流れも記述しますが、あくまで読み物としてお楽しみいただければと思います)

スポンサーリンク

Android for iPhone

BootROM Exploitを使用した脱獄ツール「checkra1n」。こちらではPongoOSという、iPhone / iPad上で別OSを動作させる…というプロジェクトも進行中です。
その成果の一つとして、Corelliumと協力し「Project Sandcastle」が発表されました。

Sandcastleは「AndroidをiPhone上で動作させよう」というプロジェクトで、すでにベータ版もリリース。

ということで、今回はこちらを使って遊んでみました!
詳細は後述しますが、実際にiPhone 7 Plus上でAndroid 10が動作。すごい…!!

howto-android-for-the-iphone-project-sandcastle-checkra1n-2

iOSとAndroidのデュアルブート

iOSとAndroidは別ボリューム扱いとなっており、いわゆるデュアルブートの状態となります。
通常通りデバイスを再起動すると「iOS」が起動され、Sandcastleのスクリプトを使用して起動すると「Android」が起動となります。

注意点

執筆時点(2020/03/06)では、【Project Sandcastle】は初期のベータ版となります。開発者さんからも「バッテリー、パフォーマンス、その他への影響は不明」とされています。
そのため、通常は試さないで頂くのが安全です(脱獄を行うよりも、ずっと不具合が発生しやすい状況です)。

どうなっても自己責任、自分の力のみで問題解決が出来る方だけが実行する様にしてください。

Androidをインストール&起動する方法

現在公式としてサポートされているデバイスは「iPhone 7 / 7 Plus」のみで、それ以外のデバイスではまだ対応状況は以下の通りです。

howto-android-for-the-iphone-project-sandcastle-checkra1n-3

今回の記事中では「iPhone 7 Plus」を使用しており、iOS 13.3(checkra1nが実行出来るバージョンであれば、どれでも大丈夫なハズです)となっています。
また、Mac / LinuxのどちらからもAndroidのインストール&起動作業を行えるのですが、今回はMacでの手順です。Linuxでは少し面倒な作業が必要となっていますので、Macがオススメ…かなと。

checkra1nで脱獄を行う

まずはサクッと「checkra1n」で脱獄を行います。そのため、対応デバイスとしてはA11以下となりますので、ご注意ください。
特に特別な作業は必要なく、こちらの記事通り、いつもと同じ脱獄作業を行っていただければ大丈夫。

howto-android-for-the-iphone-project-sandcastle-checkra1n-4

Androidのインストール

*こちらの作業は初回1回のみ必要で、次回以降は次項の起動作業からで大丈夫です。

Project Sandcastleのサイト「DOWNLOAD THE ANDROID BUILD」をダウンロード&解凍しましょう。こちらが、Androidのインストール&起動をするために必要なパッケージ群となります。

インストール作業は簡単で、MacとiPhoneをUSB接続しておき、ターミナルから【./setup_mac.sh】を実行するだけ。あとは自動で進行していきます。
最後に「Setup was successful」と表示されれば完了です。

howto-android-for-the-iphone-project-sandcastle-checkra1n-5

Starting go download nand. This will take a few minutes」にて470MB程度のファイルがダウンロードされます。必ずWiFi環境下で実行してください。
回線状況により数十分かかる場合があります。ご注意ください。

私の環境では実行時に「Failed to copy setup script」とのエラー表示が出現しましたが、以下手順で解決。

・コマンド【sed -i -e ‘/localhost/d’ ~/.ssh/known_hosts】
・コマンド【iproxy 2222 44】
・別タブでコマンド【ssh root@localhost -p2222】
・選択肢で【yes】にて一度SSH接続を行っておく

Android環境で起動する

iPhone内にAndroidの準備が整ったので、あとはAndroidを起動するだけ…!
こちらも手順は簡単で、ターミナルから【./start_mac.sh】コマンドを実行。
Please put your device into DFU」で停止しますので、USB接続したiPhoneをDFUモードに入れることで、進行させます。
成功すると「Success!」と表示され、iPhone側でAndroidが起動してくれます。

howto-android-for-the-iphone-project-sandcastle-checkra1n-6

iPhone 7 / 7 PlusをDFUモードに入れる手順は以下の通り。

・音量下げボタン + サイドボタン(スリープボタン)を同時に押し続ける
・画面が暗くなったらサイドボタンのみ離し、音量下げボタンを押し続ける
・ターミナル側で反応があれば成功(iPhoneにリンゴマークが出現してしまった場合は失敗なので、DFUモードに入る手順をやり直してください)

動作状況は?

Android 10がインストールされ、起動、操作することが可能です。
環境としてはかなり初期状態でアプリ等も必要最低限の物だけが入っている状態です。動作はもっさり感があり、常用出来るレベルではまだありません。
ただ、初期の状態としては、なかなかいい線なのではないかな!?という感想でしょうか。今後の開発に期待…!

howto-android-for-the-iphone-project-sandcastle-checkra1n-7

また、ネットワーク系が全く使えないとの報告も見かけたのですが、私の環境では携帯回線は公式情報通りダメでしたが、WiFi接続は可能で、ブラウザにて当ブログの閲覧なども可能でした。

howto-android-for-the-iphone-project-sandcastle-checkra1n-8

Androidを削除するには

ちなみに、Androidをインストールするとその分「デバイス容量」を使うわけですが、これらファイルを削除することも可能です。
一番簡単なのはcheckra1nで入獄作業を行うことで、Android用に作成されたボリュームの削除も行われます。

手動でファイルの削除を行う場合は、以下手順で可能。
ターミナルなどからiPhoneにSSH接続を行い、以下コマンドを順番に実行していきます。
・【ls /dev/disk0s1s*】(ボリュームリストを表示。最後のボリューム名を記憶)
・【/System/Library/Filesystems/apfs.fs/apfs.util -p 最後のボリューム名】(デバイス名が”AndroidiPhone”となっていれば、目的のボリューム。エンターにて抜けてください。)
・【mkdir -p /tmp/mnt
・【mount -t apfs VOLUME_HERE /tmp/mnt
・【rm -rf /tmp/mnt/nand
・【umount /tmp/mnt
・【sync

howto-android-for-the-iphone-project-sandcastle-checkra1n-9

動作としてはまだまだモッサリ感が残っており、最初期段階のため今後の最適化次第でどうなるか…という感じでしょうか。
昔のAndroid for iPhoneプロジェクトと比べ、デバイス性能も格段に上がっているため、もしかしたら…常用出来るようなレベルまで開発が行われるかも!?なんて期待も…!

AndroidはAndroid機で使えば…という指摘も出てくるかと思いますが、そうじゃない、そうじゃないんだ!そんな当たり前なことは、みんな知ってるんだ!わかってるんだ!理解しているんだ!
じゃあ何故と言われれば、楽しいのです。このよく分からない感じが、楽しいんだもの!!「ロマン」なんて言われることもありますが、それだけじゃ伝わらないであろう、楽しさがある!!!
もうもう…これは趣味です。趣味なのです。得てして他人の趣味は理解し難く、自分の趣味は理解され難いものなのです…。とかなんとか。

コメント

  1. こ…こんな時間にお遊びはいけませんね

    • まだまだ子供の時間ですっ(´ω`メ)

      • ??

      • ???

      • ところで、PC上にてiOS エミュレータは存在しますか?

        アンドロイドは結構ありますが、、

  2. お遊びですなぁ

    • TWRPみたいなものになればまだなぁ…

  3. 個人的にメイン機はAndroidにしてるくらい俺はiOSより好きだからこれが実用的になればiPhoneXやiPad Proが最強の端末になる

  4. Windowsでできますか?

    • Linux経由ならばWindows機でも出来ますが、Linuxでの手法は本記事のMac版とは異なり、より知識が必要となるかなと思います。
      プロジェクトファイル内に簡易なLinux版のチュートリアルも入っていますので、そちらに目を通してみるといいかもしれません。

  5. 安易にエミュに走らなかったのは「本物のandroid機」を作ろうとしているからなのだろうか

    • エミュっぽいもの(丸コピ)を作って
      Appleに訴えられてます…

      • Apple製品のエミュを作った場合じゃないですか?それ

  6. PCもだけどデュアルブートって名前だけでカッコいいよな

    • デュアルブート
      【英】dualboot
      デュアルブートとは、1つnパソコンで、二つのOSを起動することができる状態のことである。1台のパソコンに2種類のOSが入っているため、ユーザーが起動時にOSを選択することができる。狭義では、起動動作中にOSの切り替えが可能な場合だけを指す場合もある。

    • 名前いえばトリプルブート/クアッドブートまたはマルチブートなんて種類も有りますよ ╭( ・ㅂ・)و ̑̑ グッ !

  7. つい先日、Android-x86 64版をOneMix2sに入れたところですが、快適に使うために通販アプリなども入れると30GBぐらいの容量を必要とします。なので、Androidのみの起動ができるまではiPhoneには向かないようです。
    まだまだ先は長いですが、~iPhone8に完全対応してくれることを祈ります。

  8. わかります!
    そのワクワク感!

  9. なぜかチェックラワンの読み方を思い出して思い出し笑いしてる

    • 私もちょいちょい思い出して笑っちゃうww

    • 自分はこの記事もその発音で読んでました

  10. SEはどこ……?

  11. たしかApple社が開発者を訴えていたような…笑

  12. 中華なiPhoneに最初から中身がandroidのあったよね?
    あれ欲しかったなぁw
    でもアップグレードも出来ないから今じゃ置物だろうけど。

    • iPhone12PROっぽい3眼カメラもどきのandroid9の中華スマホなら今も中国通販で売ってるw
      標準でブラウザアイコンがSafariで写真がiOSの花っぽいアイコン、壁紙が惑星になってるというパチモノw

  13. やっぱりGPUサポートが入るまではもっさりだけど、AシリーズのGPU使えるようになるのかなぁ、、、

    • Power VR世代までは何とかなりそうだけど、独自開発に入ってからのGPUは大変そう・・・

      • って言っても
        一から作るわけじゃ無くて
        SDKを解析して移植していく作業だから
        難易度は少しだけ下がる
        むずいけど

  14. 現代版iDroidか
    端末のスペックさえ上がればサクサク動きそうだと当時思ってたな

  15. iphone7偶然持ってるから試してみようかな

    • 下手したら文鎮化する恐れもあるようだから、気を付けて。

  16. 自己責任でって注意書きがあるのに誰か数人は泣きついてくる気がしてならない

    • 文鎮化しても復元すれば良いだけなんだがな。いるんだよなそういうやつ
      対応バージョンじゃ無くてもandroid起動はできるし今んとこ最新バージョンも脱獄できるし

  17. 関係ない事ですみません。今署名復活してるサイトありますか??

  18. 記事とは関係ない質問ですみません
    パスコードを11回間違ってしまい「iPhoneは使用できません iTinesに接続」と出てしまいました
    もしも、iOSのバージョンを維持できる方法があっったらご教示お願いします
    まさか自分がパスコードを失敗する日が来るとは・・・

    • ありません

    • iCloud bypass で調べてみて、出来るかは分からんけど。

      • checkra1n使ったiCloud bypassはあるけどこれとは全く関係ないと思う
        iTunesに繋げましょう

  19. こういうの好き! 昔G3MacにインストールしたVirtualPCのWIN95にBasiliskをセットアップして私的マトリョーシカプロジェクトって密かに喜んでたのを思い出したぞ。

  20. さすがにGAppsは入ってないだろうけどどう入れるんだろ

    • APKインストールで簡単に導入出来るからGAppsの調節さえ出来ればいけるはず

  21. これ、もし使い物レベルになったら軽く革命ですな

  22. もしこれが実用可能レベルにまでいけば脱獄モードを待たずにcrackproofの回避ができるのでは…?
    root権限持ってなかったらだけど

  23. 開発がめちゃくちゃ進んで普通にGoogle系のアプリやらなんやら入れられるようになったらGoogle系が使えないHuaweiのスマホ超えそう

  24. 最適化されれば下手なAndroid買うより安くAndroid環境手に入りそう

    PLUSはともかく7だと修理プログラムがあるから圏外ジャンク買ってきて合法的に新品にできるし

  25. tryPixelどうなったんだろう…

    • 消えた

  26. AndroidのPHEMみたいなPalmOSエミュレータが欲しい!

  27. 場違いですが教えてください。現在iPhone X 13.3です。
    Apple File Conduit”2″を入れ、今まで通りiFunboxでツールボックスから進んだのですが
    ・システムユーザーファイル→/var/mobile/Mediaから下のみ
    ・汎用ストレージ→/var/mobile/Media/General_Storageから下のみ
    となっていて、rootやMedia以上の場所にアクセスする事は現状できないのでしょうか?

    そして、Cydiaインストールパッケージ、Rawファイルシステムの2つにおいては
    「ジェイルブレイク済みのデバイスは当機能を使える」
    と出て何もできません。

    13.3は皆さんも同じ現象なのか気になります。
    iFunboxのバージョンは4.1 Build 4338.2105 (x64)となっています。

    • WinSCP使えばいいんじゃない?

    • できる人とできない人がいる
      自分はできない。同じ環境だけど。

    • Mac版では問題ないようですが、Windows版では不可となるようです。
      一応iMazingであればWindows版でも大丈夫なので、検討してみるとイイかもしれません

  28. 急にすみません、iFunboxからRawファイルシステム使えなくないですか?

    • つかえません。

    • 私の環境では問題なく使用できています(MacbookPro2016,iFunBox1.8)

      • そうですか。
        iPhoneX、13.3でWindowsですが、ツールボックスからRawファイルシステムに進むと、ジェイルブレイクしていたら大丈夫的なポップが出るだけですね、、

    • Apple File Conduit 2をインストール入れんと使えないよ。

    • 6splus,13.3,windows10ですが、iPhoneそのものは認識していても脱獄していることは認識できていないようですね。

      • ありがとうございます。
        やはりそうですよね。
        iFunboxからrootまでアクセスしたかったのですが残念です。

    • Mac版では問題ないようですが、Windows版では不可となるようです。
      一応iMazingであればWindows版でも大丈夫なので、検討してみるとイイかもしれません

  29. santaさんお疲れ様です。
    この記事とは無関係ですが質問させて下さい
    dアニメストアの回避ツイークは何かありますでしょうか?💦

    • 検知してる?
      普通に動いてますけど、他に原因ある可能性ありますよ

      • 何かしら原因があるんですかね?💦

    • 私の環境でも使えなかったので、Flex3
      というtweakを使用してます。
      よかったら試してみてください。

      • ありがとうございます!!

  30. 関係ないんですけど、mobilesubstratedynamic.dylibについて何か知ってますか?昨日このファイルのせいでセーフモード地獄になってました。調べて見ると12.4のA10の環境下にのみ発生してるらしいです。

    • セーフモード時に機内モードにしてWiFiとBluetooth切ってからrestartするととりあえず治りました。

  31. Android起動させるやつevasi0n時代にあったよね!
    当時は学生で頑張って買った8GBのiPodにはストレージ足りなくてインストールできなかったけど、、、
    いまなら128GBのiPhone、iPadがゴロゴロ転がってるから誰を人柱にしてやろうかな!

    たしか昔のはJellybeanだったけど一気に10か〜〜〜〜

    • Jellybeanって確か4.1くらいだったよね、懐かしい。

  32. 記事内と関係ないコメントで悪いけど誰か入力時に勝手に画面がズームする機能をオフにするtweak知ってたら教えてください
    むしろ設定であるわバーカって人もよかったら教えてくれると助かります

    • 入力時にズーム…というのは、Safariなどで入力フォームにフォーカスされてしまう仕様のことですかね…?

      • そうそうそれです、tweetdeckなどで入力しようとすると拡大されてしまうので不便なんですがオフにする方法が見つからなくて困ってます

  33. 記事とは無関係で申し訳ないのですが質問です。
    以前とあるtweakを入れる際、rocketbootstrapが対応してないと出て特に何も考えずrpetrichのものを消して他のリポジトリの物を探し追加してしまいました。
    それから毎回何かtweakを入れる度にrpetrichの方をインストールしようとしてはエラーを起こしてしまいます。別のリポジトリの方を消そうとしても同時にrpetrichの方をインストールしようとしてエラーを起こし消せません。terminalでtweak削除する方法でもダメでした。

    要は他のリポジトリのrocketbootstrapを消してrpetrichの方を入れ直したいのですが、やり方を教えて頂きたいです。

    • そんなことに滅多にならないから、意図的に環境を用意できないでいる…
      どのリポジトリのをインストールしてしまったのか教えてほしい。
      あとは作業時に出るというエラー文を書き写してほしい。
      念のために使用デバイスとOSバージョン、脱獄ツールも書いてもらえれば確実か。
      と言ってもこっちで作れる環境はCheckra1nになりますが…

      • ご丁寧にありがとうございます。リポジトリなのですが、Hackyouriphoneというもので調べたら海賊版を流出させてるリポでマズいと思い削除しようとしたら出来なくなった…という経緯です。tweak自体は正規版のものだったのですが、rocketbootstrapのバージョンエラーが出たので別の物をインストールしたという感じです。

        trying to overwrite ‘/Library/LaunchDaemons/com.rpetrich.rocketbootstrapd.plist’ , which is also in package com.hackyouriphone.rocketbootstrap 1.0.7~beta3
        Sub-process /usr/libexec/cydia/cydo returned an error code(1)

        こちらがCydiaのエラー文です。何かtweakをインストールする度にこのエラーが表示されます。環境はXsの13.1.3、unk0verです。

        さすがに同じ状況を再現するために海賊版リポを入れるのは危ないですし申し訳ないので、エラー文からでも何か掴めたら幸いです。よろしくお願い致します。

        • error processing archive /var/cache/apt/ archives/ com.rpetrich.rocketbootstrap_1.0.6_iphoneos- arm.deb (–unpack)

          追加でこういったエラーも出てきます。大体他のtweakをインストールする際に上のエラー文とセットで出ます。

          • 前提として、rpetrichリポジトリがソースに追加されてる状態です
            SSHでiPhoneに接続してsuにログインした状態で……

            -割れリポのRocketBootstrapを依存関係無視して削除
            dpkg -r –force-depends com.hackyouriphone.rocketbootstrap

            -rpetrichリポからRocketBootstrapを強制インストール
            apt-get install -f com.rpetrich.rocketbootstrap

            その後Cydiaを見てみると再インストールを求められたので実行すると
            エラーが出ず処理が進んだのを確認

            Gumpでコマンド打った時よりも確証が持てないので自己責任でオナシャス
            Restore RootFSが確実だと思います……

        • どうやらrocketbootstrapを上書きしようとしてエラー吐いたっぽいね。

    • Filzaでもダメやった?

      • 上書きがダメなら…とFilzaでそれらしきファイルを削除してみたり、Terminalを作って削除しようとしてみたり再起動もしましたがダメでした。
        rocketbootstrapの役割がイマイチよく分かりませんが、脱獄環境のみに関係するものなら一旦入獄すれば勝手に消えるのでは?と思い入獄し再脱獄したところ綺麗に消えており、無事本家のものを入れることが出来ました!
        アドバイスして下さった方々、ありがとうございました。今後よく分からないリポを追加する際は気を付けます。

      • Filzaにてそれらしきファイルを削除、Terminalを作成して削除、再起動など色々試しましたがダメでした。

        しかし、rocketbootstrapがなんなのかイマイチ分かりませんが脱獄関連のものなら入獄すれば消えるかも!と思い入獄して再脱獄したら無事消えてました!やっと本家のものを入れることが出来ました。

        アドバイスしてくださった方々、ありがとうございました!変なリポジトリ入れないよう気を付けます。

  34. 結局SDカード挿せないと使い勝手がなあ

    • 外部アクセサリー使えるようになったらiphone用のUSBが使えるんだがなぁ

  35. 記事に関係のない質問で申し訳ございません。
    6sの13.3でunc0verで脱獄しています。
    Cydiaのアカウント管理でFacebookでログインしようとしてもログインできません。
    同じ症状の方、おられますでしょうか?

    • おられますでしょうか。とか相当気持ち悪い敬語使うね、君。
      いらっしゃいますか。が正しいよ。
      それはさておき、CydiaでFacebookでログイン出来ないのは仕様らしいよ。

  36. Relocateインストールしたんですけど、検索が透明でタップ出来ません。体温して無いのでしょうか? iPhone11 ios13.3

    • 12までじゃないの

      • やはりそうなんでしょうか。
        glocationも不安定ですしまだまだ対応待ちですね。
        ありがとうございました。

        • ↑↑ですが、GPS Managerは13まで対応してますよ。

  37. Linux版でもできますか?

    • Ubuntuでできましたよー

  38. この記事を思い出したhttps://tools4hack.santalab.me/upcoming-android7-on-ios-device-demo-video-trypixel.html

  39. 4.3でましたよー!

    • 4.3.1でましたよー!

    • IOS 13.3.1はまだなのね

  40. わかるってばよ…

    個人的には早くLinux入れられるようになって欲しいな
    と思って思い出したけど、Ubuntu TouchとかPlasma mobileとかどうなってるんだろう

    • iOSとAndroidはLinuxみたいな物だから…

  41. [./setup_mac.sh]を実行すると「Couldn’t find device」って出て
    失敗するんですが解決方法はありますか?

    • デバイスがMac側にきちんと接続されている&信頼されている状態でしょうか?また、SSH関連の設定は問題ない状態でしょうか?

  42. set up実行からのDFU入れると
    ターミナルが反応してiPhoneの画面がcheckra1nを実行したような感じになり
    以下のようなところでフリーズして再起動になるんですが

    set xnu boost arg codlin to: [rootdev=md01

    もしかしてcheckra1n0.10.1(現状最新ver)じゃダメだったりしますか?