JW Library のバージョン 12.5 から Apple silicon(M1以上)で動作するようになっていますので,App Storeから最新版をインストールしてお使いください。
下記の方法はiOS版を動かせなかった当時のものです。
前書き
これまで使っていたWindowsマシンの調子が悪くなったところに, AppleのM1がすごくいいという話が飛び込んできていました。最近の仕事はWebばっかりであえてWindowsを使う理由もなくなってきたということもあり,前々から触ってみたいと思っていたのもありMacbook Airを買いました。
ライフワークのJWではもちろんJW Libraryを使ってますが,「iOSで使えてるアプリなんだからM1の乗ってるMacなら動くでしょ」とよく下調べもせず買ったら,Appストアにない…使えない…
これまで使ってたiPad ProはMBAを買うために売ってしまったのです。諦めるわけにはいきません。
いやいや,なんとか使う方法があるはずだ,と奮闘した過程を記しておきます。どこかの誰かのお役に立てれば嬉しいなという気持ちと,備忘録として…。
とりあえず結果
はい,使えます!見ていただければわかるように Android Emulator を使ってます。ちゃんと音も出るし動画も再生できますよ!ここに至るまで苦労したんですが…というわけで苦労の顛末と方法をどうぞ。
失敗その① ipaファイル抽出
まず検索して見つけたのはこの方法。詳しくは下記動画をご覧ください。
この方法で動いて,さすがApple様やったー!と思っていたのもつかの間,OSを11.3にアップデートした瞬間使えなくなりました。えぇぇ…
この変更自体は、実際の.IPAファイルを配信するApp Storeシステム上で行われており、OSのDRM(デジタル著作権保護)を管理するAPIの一部であるため、今後、回避策が見つかる可能性は低そうと見られています。
しょんぼり…。仕方ありません。別の方法を考えます。
失敗その② Windows 10 (ARM) on Parallels Desktop 16 for Mac
Parallels Desktop が M1 に対応してる!ということでこの記事を参考にインストールしました。
インストールそのものは全く問題なくできるのですが,JW Library を立ち上げると更新中のままさっぱり先に進まず…。日々の聖句すら表示されずに終わりました。挙動を見てると,ダウンロードがうまくいかないみたいです。Mac側とのディスク共有が悪さしてるのかなと思い,設定を変えて3回インストールし直してもダメ。諦めて次の方法を考えることに。
失敗その③ Wine
こちらの記事を参考に Wine をインストール。とりあえずさくっと動きそうなものからということで,まずは Watchtower Library を動かしてみるところから試してみました。
こちらはわりとさっくり動かせました。先人の皆さまありがとう…。特別難しいことはありませんでしたが,気が向いたら詳しく書きます。今回は割愛します。
気を良くして今度はJW Libraryを…と頑張ったんですが,そもそもWineでWindows 10 UWPアプリを動かすことは難しい模様。
ARM版のファイルをダウンロードするなど頑張ってみたんですが,全くダメでした。
いよいよ手詰まりか…いや,Windowsのエミュレーションがダメなら,同じARMのAndroidのエミュレーションならいけるのでは?
##本命:Android Emulator
ちょうど最近,Android StudioのEmulatorがM1で動くようになったという話を見たので,チャレンジしてみます。まずAndroid Studioをインストールしましょう。その後,参考にさせていただいたのはこちら。この通りにシステムイメージをインストールします。
これでエミュレーターは動くのですが,JW Libraryをインストールするちょっとしたノウハウを書いておきます。
まず,システムイメージは__Google API add-on System Images__にしました。
作成するVirtual Deviceは__タブレット__にします。画面が広い方が使いやすいですよね。もちろん表示上リサイズもできます。
では早速デバイスの作成から…
Android StudioからAVD Managerを開き,画面下の「+ Create Virtual Device...」を開きます。すると,下のように「Select Hardware」の画面が表示されます。
この「Pixel C」を選び,「Next」。
System Imageの画面上のタブから「Other Images」を選び,__先ほどインストールしたAPI Level「S」ABI「arm64-v8a」__を選びます。で「Next」。
AVD Nameはお好みで。「JWLib」とかにしておきましょうか。
__次が大事なんですが,Show Advanced Settingsをクリックし,詳細を開きます。__そして__Internal Storageを大きくすること。__デフォルトだと800MBなので,いざJW Libraryをインストールする時になって「容量が足りなくてインストールできません」となります。ぐったり。(1敗)
自分はとりあえず__4GB(4096MB)__にしておきました。ディスク容量に余裕があるとか,いっぱいビデオダウンロードするよ,って場合はもっと増やした方が良いと思います。
ここまできたらAVD Managerから起動しましょう。
__おめでとうございます!__ここまで来たらもう少しです。
エミュレーター上のChromeを起動して,jw.orgにアクセスします。Chromeが立ち上がって__jw.orgが表示されるまでかなり時間がかかります__ので,お茶でも飲んで一息入れましょう。一度表示されたらそこからは早いです。
見慣れたjw.orgが表示されたら一番下にある「JW Library」をクリックします。
この画面にある「アプリストアにアクセスできない場合にJW Libraryをインストールする(Android)」をクリックします。
「ダウンロード」ボタンからAPKファイルをダウンロードします。
ダウンロードした「jwlib_E.apk」を実行しましょう。セキュリティ通知が出たら許可するのを忘れずに。インストールできたらホーム画面にアイコンが出ます。お疲れさまでした!
##おまけ:Dockから起動できるようにする
毎回Android Studioから起動するのは面倒なので,Dockに登録しましょう。
ターミナルからファイルを作成します。
%touch ~/JWLibrary.command
できたファイルをテキストエディタで編集します。
#!/bin/zsh
/Users/**ユーザ名**/Library/Android/sdk/emulator/emulator -avd JWLib -no-snapshot -no-snapshot-load
この「-no-snapshot」「-no-snapshot-load」を指定することで,エミュレーターから音が鳴るようになります。
できたcommandファイルをDockに登録します。JW Libraryのロゴをコピーして指定しておくとそれらしくなりますよ。
こんどこそ,お疲れさまでした。良いJW & M1ライフを!