Android simulator don’t show React Native(expo) with Error

8月 29, 2022

前回の記事を書いた後に、もっと良い解決方法を発見したので、書き直すことにしました。エラーの内容は以下の通りです。

Couldn’t start project on Android: Error running adb: adb: failed to install /Users/worker/.expo/android-apk-cache/Exponent-2.25.2.apk: 
Exception occurred while executing 'install’:

android.os.ParcelableException: java.io.IOException: Requested internal only, but not enough space

at android.util.ExceptionUtils.wrap(ExceptionUtils.java:34)

at com.android.server.pm.PackageInstallerService.createSession(PackageInstallerService.java:595)

at com.android.server.pm.PackageManagerShellCommand.doCreateSession(PackageManagerShellCommand.java:3434)

at com.android.server.pm.PackageManagerShellCommand.doRunInstall(PackageManagerShellCommand.java:1446)

at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:1408)

at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:221)

at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)

at android.os.ShellCommand.exec(ShellCommand.java:38)

at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onShellCommand(PackageManagerService.java:5954)

動作環境

reaxt Native
expo
android studio

前提として、iOSのシミュレータではReact Nativeが正しく表示できていることとします。(As a premise, it is assumed that React Native can be displayed correctly in the iOS simulator.)

解決方法 solved

press “shift a“, instead of press “a".

一言で書くと以上ですが、わからないと思うので一連の流れを書きます。
まず、expoを立ち上げます。(First, launch expo.)

$ expo start

この後、aではなく、?を押します。(After this, press “?" instead of press “a".)
すると、以下の表示が出ます。(The following will appear.)

› Press a │ open Android
› shift+a │ select a device or emulator
› Press i │ open iOS simulator
› shift+i │ select a simulator
› Press w │ open web

› Press r │ reload app
› Press m │ toggle menu
› shift+m │ more tools
› Press j │ open JavaScript inspector for Hermes
› Press o │ open project code in your editor
› Press c │ show project QR
› Press p │ toggle build mode (development)

ここで、shift+aを押します。(Now press shift+a)

すると、以下のような表示が出ます。(Then you will see something like this:)

› Opening on Android...
? Select a device/emulator › 
    Pixel_3a_API_33_arm64-v8a (emulator)
❯   Pixel_4_API_31 (emulator)

ここで、デフォルトのemulatorを選択すると、android simulatorは起動はしますが、タイトルと同様のエラーになってしまいまい、React Nativeは表示されません。このエラーを回避するのがこの記事の目的です。

そのため、ここでは、自分で作成した Pixel_4_API_31 (emulator) の方を選択します。すると、エラーが出ずに、React Nativeの画面が表示されます。(So here you choose the Pixel_4_API_31 (emulator) that you created yourself. Then the React Native screen will be displayed without any error.)

Android Studioでandroid emulatorをcreateする方法は、ここでは書きません。( will not write here how to create android emulator in Android Studio.)

これで、android studioを起動せずに、expoをTerminalで起動するだけで、androidの動作確認ができるという作業ができます。(expo便利)。(With this, you can check the operation of android just by starting expo in Terminal without launching android studio. (expo convenient).)
めでたし、めでたし。(Happily, Happily)