如何使用eas build构建expo apk
How to build expo apk using eas build
更新 expo 后,它不再支持使用 expo build:android -t apk 构建 apk 文件,而是建议使用命令 使用 eas 构建eas build -p android --profile preview 但最终构建的是 aab 而不是 apk。我查看了新添加的 eas.json 文件,其中包含:
{
"cli": {
"version": ">= 0.52.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {}
},
"submit": {
"production": {}
}
}
我阅读了 eas 文档,它建议我将 eas.json 更改为:
{
"cli": {
"version": ">= 0.52.0"
},
"build": {
"preview": {
"android": {
"buildType": "apk"
}
},
"preview2": {
"android": {
"gradleCommand": ":app:assembleRelease"
}
},
"preview3": {
"developmentClient": true
},
"production": {}
}
}
运行构建命令后:eas build -p android --profile preview
它正确地将应用程序构建为 apk 文件并安装在 android 上很好,但在打开时它会立即自行关闭。尝试重新打开后再次关闭,现在提醒应用程序崩溃。
我的 eas.json 文件中有错误还是我遗漏了什么?
在 eas.json
中更改生产密钥
对此
"production": {
"android": {
"buildType": "apk"
}
}
所以现在你的 eas.json
像这样
{
"cli": {
"version": ">= 0.52.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {
"android": {
"buildType": "apk"
}
}
},
"submit": {
"production": {}
}
}
要构建到 .apk
文件中,您可以使用生产配置文件进行构建。像这样的命令
eas build --profile production --platform android
我在将我的应用程序升级到 EAS 构建时也遇到了一些问题,原因是因为我使用了来自 expo-constant
的值并且它 return 和 null
,所以它崩溃了应用程序。新的 SDK 将我需要的值移动到 expo-device
。
我的哨兵也有问题,打开应用程序会立即崩溃。尝试暂时删除它,看看您的应用是否可以打开
评论中提供的解决方案有效。我的错误是由于新的SDK版本只支持@react-navigation/native
,如果你安装了react-native-screens
和react-native-safe-area-context
。
对于发现自己在这里的任何人,请使用:
npm install @react-navigation/native
expo install react-native-screens react-native-safe-area-context
然后按照其他答案的建议编辑 eas.json。希望对你有用
详细说明如下:
https://docs.expo.dev/build/eas-json/
您需要在项目目录中创建eas.json
为:
{
"build": {
"preview": {
"android": {
"buildType": "apk"
}
},
"preview2": {
"android": {
"gradleCommand": ":app:assembleRelease"
}
},
"preview3": {
"developmentClient": true
},
"production": {}
},
"cli": {
"version": ">= 0.52.0"
}
}
然后使用以下命令:
eas build -p android --profile preview
此致,
沙米尔
更新 expo 后,它不再支持使用 expo build:android -t apk 构建 apk 文件,而是建议使用命令 使用 eas 构建eas build -p android --profile preview 但最终构建的是 aab 而不是 apk。我查看了新添加的 eas.json 文件,其中包含:
{
"cli": {
"version": ">= 0.52.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {}
},
"submit": {
"production": {}
}
}
我阅读了 eas 文档,它建议我将 eas.json 更改为:
{
"cli": {
"version": ">= 0.52.0"
},
"build": {
"preview": {
"android": {
"buildType": "apk"
}
},
"preview2": {
"android": {
"gradleCommand": ":app:assembleRelease"
}
},
"preview3": {
"developmentClient": true
},
"production": {}
}
}
运行构建命令后:eas build -p android --profile preview
它正确地将应用程序构建为 apk 文件并安装在 android 上很好,但在打开时它会立即自行关闭。尝试重新打开后再次关闭,现在提醒应用程序崩溃。
我的 eas.json 文件中有错误还是我遗漏了什么?
在 eas.json
中更改生产密钥
对此
"production": {
"android": {
"buildType": "apk"
}
}
所以现在你的 eas.json
像这样
{
"cli": {
"version": ">= 0.52.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {
"android": {
"buildType": "apk"
}
}
},
"submit": {
"production": {}
}
}
要构建到 .apk
文件中,您可以使用生产配置文件进行构建。像这样的命令
eas build --profile production --platform android
我在将我的应用程序升级到 EAS 构建时也遇到了一些问题,原因是因为我使用了来自 expo-constant
的值并且它 return 和 null
,所以它崩溃了应用程序。新的 SDK 将我需要的值移动到 expo-device
。
我的哨兵也有问题,打开应用程序会立即崩溃。尝试暂时删除它,看看您的应用是否可以打开
评论中提供的解决方案有效。我的错误是由于新的SDK版本只支持@react-navigation/native
,如果你安装了react-native-screens
和react-native-safe-area-context
。
对于发现自己在这里的任何人,请使用:
npm install @react-navigation/native
expo install react-native-screens react-native-safe-area-context
然后按照其他答案的建议编辑 eas.json。希望对你有用
详细说明如下: https://docs.expo.dev/build/eas-json/
您需要在项目目录中创建eas.json
为:
{
"build": {
"preview": {
"android": {
"buildType": "apk"
}
},
"preview2": {
"android": {
"gradleCommand": ":app:assembleRelease"
}
},
"preview3": {
"developmentClient": true
},
"production": {}
},
"cli": {
"version": ">= 0.52.0"
}
}
然后使用以下命令:
eas build -p android --profile preview
此致, 沙米尔