M1+ReactNativeでiOS, Android開発環境を整える

こんにちは。先日Apple M1チップでの開発に切り替えました。
iOS環境はスムーズに構築できたものの、Androidは少し苦戦したため、今回は、Android開発環境の構築方法を中心に残しておきたいと思います。
ご参考になれば幸いです。

##環境
OS: MacOS Big Sur 11.2.2
CPU: Apple M1

##前書き
Android開発をする際に、**Geny Motionが対応していなかった**ため、Android Studioで実機テストしながら開発する方法を残しておきたいと思います。

iOSでの開発環境は、ここでは詳細を割愛いたしますが、以下の記事を参考に構築しました。バージョン周りのエラーが多かったと感じています。

**iOS開発環境を構築する際に役立った記事**
rbenvインストールしようとするとビルドに失敗する
https://secret-garden.hatenablog.com/entry/2021/01/02/220713
anyenv上のrbenvでRubyのバージョンを最新化する
https://qiita.com/kikunantoka/items/534c86f2c098b00fdfb1
bundle installで発生した`gem install ffi -v '1.12.2' --sourceエラーの対処方法
https://hachimaki37.hatenablog.com/entry/2021/02/11/103949
(↑Gemfile.lockのffi行だけを削除し、再度bundle installすると最新版が入ります)

※ cocoapodsを実行するrubyはanyenv/rbenvを使用しています

##Geny motionはM1チップとの互換性がなく対応も未定

https://support.genymotion.com/hc/en-us/articles/360017897157-Does-Genymotion-Desktop-work-on-Mac-M1-

###今後Geny MotionがM1に対応した場合↓↓ (Virtual Boxも必要)
Geny Motion 無料ダウンロードリンク
https://www.genymotion.com/download/
Virtual Box ダウンロードリンク
https://www.virtualbox.org/wiki/Downloads



# Geny motion使えないためAndroid studio previewを使う
Android Studioの**安定版はM1に非対応**とのことです。そこでAndroid Studio Previewを使います。
Android Studio Preview は以下から入手できます。

https://developer.android.com/studio/archive

利用規約に同意し、青色の【ライセンス契約に同意する】をクリックします。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1285111/7273a307-02d8-9ccd-249e-364c9d5b8a66.png)

アーカイブが一覧で表示され、こちらから最新のプレビュー版をダウンロードします。
Android Studio **Arctic Fox Canary版** と書かれてあるものがプレビュー版です。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1285111/047e052e-53ee-4b59-82cc-fcaea7b5e138.png)

ここでは、Android Studio Arctic Fox (2020.3.1) Canary版 2021年3月22日 を開きます。
Zipファイルの *Mac: android-studio02020.3.1.11-mac.zip* をクリックしてダウンロードが開始されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1285111/f4af5ef1-2369-8950-9ab2-e234eeb195c6.png)

#Javaのバージョンを上げる

Android StudioにはJDK(Java SE Development Kit)という開発コンポーネントを用います。
JDKのバージョンが古いと怒られてしまうため、できるだけ新しくしておきましょう。

jdk14.xのダウンロードリンク

https://www.oracle.com/java/technologies/javase/jdk14-archive-downloads.html


##パスを通す
インストールが完了したら、パスを通してあげます。
bashの場合は `~/.bash_profile`
zshの場合は `~/.zprofile`　に以下を追加します。

    export JAVA_HOME={さっきインストールしたjdk14.x.xのpath}
    export PATH=$JAVA_HOME:$PATH


追加したら再読み込みしましょう。ターミナルで以下を実行します。

    $ source ~/.zprofile 

# Android StudioにJDKのパスを通す

若干わかりにくいところにあるのですが、**Default Project Structure...**からパスを設定できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1285111/e9552e58-6e32-d35b-5e45-ac017fb832af.png)

JDK locationを /Library/Java/JavaVirtualMachines/{自分のJdkバージョン}.jdk/Contents/Home のように設定します。
![Inkedimage (1)_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1285111/a2f33c24-32a1-8134-e911-3912a97e923d.jpeg)


#デバッグ環境立ち上げ
立ち上げのコマンドは以下

    $ react-native run-android

## Android Studioのライセンス関係でビルドに失敗した場合

ライセンスが原因でビルドエラーを起こした場合は**Google Play Licensing Library**を設定からインストールする必要があります。
左のCustomizeタブから**All settings...**をクリック
![image (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1285111/24af009f-eb17-05fc-dfea-85bcf3d6e571.png)

「System Settings」内の**Android SDK**を開き、画面中央上部にある**SDK Tools**というタブに切り替えます。そして**「Google Play Licensing Library」**にチェックを入れてインストールを行います。
![image (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1285111/cc52c7fe-f00c-a957-1dcf-fcd6a1c28276.png)


### 参考記事
「ライセンスが原因でビルドにコケるときの対処」
https://stackoverflow.com/questions/57124607/react-native-failed-to-install-the-app-please-accept-all-necessary-sdk-licens