Turtle build:android在azuredevops管道中失败,我缺少什么?

时间:2020-11-11 11:29:03

标签: bash build azure-devops expo azure-pipelines

在运行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不存在。

1 个答案:

答案 0 :(得分:0)

一种解决方法: 删除build命令前面的Expo变量(它们已经被声明为变量),并且工作正常。

有关详细信息,请参阅此case

此外,您可以尝试检查 private void OnTriggerEnter2D ( Collider2D collision ) { if ( collision.CompareTag ( "Enemy1" ) ) { // ... } else if ( collision.CompareTag ( "Enemy2" ) ) { // ... } else if ( collision.CompareTag ( "Enemy3" ) ) { // ... } } 文件的expo对象中是否包含val startDate = DateTime.now() val endDate = DateTime(endTime) val period = Period(startDate, endDate) val periodFormatter = PeriodFormatterBuilder().apply { when { period.days > 0 -> appendDays().appendSuffix(" day", " days") period.hours > 0 -> appendHours().appendSuffix(" hour", " hours") period.minutes > 0 -> appendMinutes().appendSuffix(" minute", " minutes") } }.toFormatter() periodFormatter.print(period)

android.package