Expoでアプリ開発の学習をしていて、いざexpo build: androidした時にFailed to generate Android Keystore…エラーが出てしまったので、その備忘録です。
エラー内容
✔ Choose the build type you would like: › apk
Checking if there is a build in progress...
Accessing credentials for mrgishi in project react-native-news-app
✔ Would you like to upload a Keystore or have us generate one for you?
If you don't know what this means, let us generate it! :) › Generate new keystore
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
Failed to generate Android Keystore, it will be generated on Expo servers during the build
keytool exited with non-zero code: 1
Error: keytool exited with non-zero code: 1
at ChildProcess.completionListener (/usr/local/lib/node_modules/expo-cli/node_modules/@expo/spawn-async/src/spawnAsync.ts:65:13)
at Object.onceWrapper (events.js:520:26)
at ChildProcess.emit (events.js:400:28)
at maybeClose (internal/child_process.js:1055:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
...
at spawnAsync (/usr/local/lib/node_modules/expo-cli/node_modules/@expo/spawn-async/src/spawnAsync.ts:26:19)
at createKeystore (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/credentials/AndroidCredentials.ts:150:18)
at Object.generateUploadKeystore (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/credentials/AndroidCredentials.ts:199:9)
at UpdateKeystore.provideOrGenerate (/usr/local/lib/node_modules/expo-cli/src/credentials/views/AndroidKeystore.ts:68:53)
at UpdateKeystore.open (/usr/local/lib/node_modules/expo-cli/src/credentials/views/AndroidKeystore.ts:39:22)
at CredentialsManager.run (/usr/local/lib/node_modules/expo-cli/src/credentials/route.ts:42:12)
at runCredentialsManager (/usr/local/lib/node_modules/expo-cli/src/credentials/route.ts:13:10)
at AndroidBuilder.collectAndValidateCredentials (/usr/local/lib/node_modules/expo-cli/src/commands/build/AndroidBuilder.ts:88:7)
at AndroidBuilder.run (/usr/local/lib/node_modules/expo-cli/src/commands/build/AndroidBuilder.ts:33:5)
at AndroidBuilder.command (/usr/local/lib/node_modules/expo-cli/src/commands/build/BaseBuilder.ts:43:7)
原因
MacにJavaがインストールされていないことによるエラーだそうです。
解決方法
MacにJavaをインストールしましょう。これでエラーが解消されるはずです。
Java公式:https://www.oracle.com/java/technologies/downloads/
まとめ
無事apkファイルをビルドすることができました。少し時間はかかりますが、簡単にapkファイルを作成できて楽しいですね。
ExpoはiOSアプリも同様にビルドすることができます。ただ、iOSの方はデベロッパーアカウントを購入したのですが、アカウントがpending状態でビルドを試せていません(泣)
この記事にコメントする
このサイトはreCAPTCHAとGoogleによって保護されています。プライバシーポリシーと利用規約が適用されます。