【问题标题】:Buildfile: build.xml does not exist! - Android app with ant + cronjob构建文件:build.xml 不存在! - 带有 ant + cronjob 的 Android 应用
【发布时间】:2023-04-03 08:12:02
【问题描述】:

我整天都在努力建立一个自动化系统来构建我的 Android 应用程序,如果有人可以帮助我或为我指明正确的方向,我将不胜感激。我编写了一个 shell 脚本,它从 Git 获取最新版本,构建它并将 APK 发送到 Testflight。这个脚本在我自己运行时可以正常工作,但是当我设置一个 cronjob 以指定的时间间隔运行它时,我遇到了以下错误:

构建文件:build.xml 不存在!

#!/bin/sh

API_TOKEN=""
TEAM_TOKEN=""
NOTES=$(<Release.txt)
APP_NAME="MainActivity-release.apk"

#Reset git
echo resetting
git reset --hard

echo pull latest
git pull

echo configure for build
android update project -p .

echo build api
ant release

/usr/bin/curl "http://testflightapp.com/api/builds.json " -F file=@"bin/$APP_NAME" -F api_token="$API_TOKEN" -F team_token="$TEAM_TOKEN" -F notes="$NOTES" -#

我已将此 shell 脚本文件移动到我的主目录并使用了

cd ~/Documents/workspace/AutomatedAndroidApp 更改目录,然后手动尝试脚本,它工作。然而,当我使用 cronjob 运行它时,我又遇到了同样的错误。

我也尝试过设置 ant 文件路径

ant -file ~/Documents/workspace/AutomatedAndroidapp/build.xml

但没有运气。在今天之前,我从来没有使用过 ant 来构建我的应用程序,因为我一直使用 Eclipse 中的工具,所以我有点迷茫,如果有任何帮助,我将不胜感激!

【问题讨论】:

  • 检查运行 cron 作业的用户可用的用户和环境变量

标签: android ant automation cron-task


【解决方案1】:

正如@ben75 所建议的,这似乎是 cronjob 用户与您用于手动执行它的用户帐户不同的问题。因此~ 将解析到错误用户的主目录。请改用完整/绝对路径,并使用 -file 开关将其传递给 ant。

【讨论】:

  • 今天将尝试这些建议!谢谢
  • 谢谢大家!你们都指出了我正确的方向,我能够修复它:) 用户是相同的,但没有设置 PATH 变量,而且它是从错误的目录执行的。
  • 很高兴你回到正轨!
猜你喜欢
  • 1970-01-01
  • 2012-08-17
  • 1970-01-01
  • 2011-07-31
  • 1970-01-01
  • 2019-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多