bash - Turtle build:android 在 azuredevops 管道中失败,我错过了什么?
问题描述
运行 turtle build:android 时出现此错误
turtle[4754] ERROR: Failed to build standalone app
err: ConfigError: The expected package.json path: /Users/runner/work/1/s/<key_alias>/package.json does not exist
这是脚本在我的 .yml 中的样子
turtle setup:ios \
IOS_DIST_P12_PASSWORD=$(IOS_DIST_P12_PASSWORD) \
turtle build:ios -u $(EXPO_CLI_USER) -p $(EXPO_CLI_PASSWORD)\
--team-id $(APPLE_TEAM_ID) \
--dist-p12-path ./my-app_dist.p12 \
--provisioning-profile-path ./myapp.mobileprovision \
--release-channel deployment
turtle setup:android \
ANDROID_KEYSTORE_PASSWORD=$(ANDROID_KEYSTORE_PASSWORD) \
ANDROID_KEY_PASSWORD=$(ANDROID_KEY_PASSWORD) \
turtle build:android -u $(EXPO_CLI_USER) -p $(EXPO_CLI_PASSWORD)\
--keystore-path ./my-app.jks \
--keystore-alias $(KEY_ALIAS) \
-t apk \
--release-channel deployment
我在 yml 中有所有正确的信息,并且定义了所有 env 变量。在运行 turtle build 之前是否还需要运行 keytool 命令?我过去已经为该应用程序完成了它,并且文件路径在那里。
ios 的同样问题,它说 path/package.json 不存在。
解决方案
作为一种解决方法:删除构建命令前面的 Expo 变量(它们已经被声明为变量)并且它工作正常。
详情请参考本案例。
另外,可以尝试检查android.package
key是否包含在app.json
文件的expo对象中
{
"expo": {
"sdkVersion": "26.0.0",
"name": "TongPos",
"description": "your app desc",
"android": {
"package": "com.sohagfaruque.tongpos"
}
}
}
推荐阅读
- qt - 如何将 QSpinBox 添加到 QTableWidget?
- firebase - Flutter fcm重定向问题
- python - 如何使用正则表达式匹配更长的字符串?
- javascript - useReducer 调度执行两次
- google-maps - 当父小部件为堆栈时,TextformFiled 在键盘下
- c# - 从面板打开表单
- rspec - Active Storage 在 rspec 中工作,在使用 puma 的 rails 开发模式下失败
- java - 在没有 web.xml 的码头部署战争
- c - 在while循环中,char没有按我的意愿显示输出
- c# - 我可以获得正则表达式信用卡号的最后 4 位数字吗?