首页 > 解决方案 > 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 不存在。

标签: bashbuildazure-devopsexpoazure-pipelines

解决方案


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

详情请参考本案例

另外,可以尝试检查android.packagekey是否包含在app.json文件的expo对象中

{
  "expo": {
    "sdkVersion": "26.0.0",
    "name": "TongPos",
    "description": "your app desc",
    "android": {
      "package": "com.sohagfaruque.tongpos"
    }
  }
}

推荐阅读