如何使用Jenkins前端从git调试android项目?
我已经在我的Ubuntu11.04系统上使用命令“apt get install Jenkins”安装了Jenkins。 我能够从linux命令行很好地执行“ant debug”命令并成功完成,但当我试图使用jenkins前端从git hub调试Android项目时,我将构建目标设置为“Invoke ant”,属性为“sdk.dir=/opt/Android sdk linux ics”。它给出以下错误控制台输出:如何使用Jenkins前端从git调试android项目?,android,ant,jenkins,Android,Ant,Jenkins,我已经在我的Ubuntu11.04系统上使用命令“apt get install Jenkins”安装了Jenkins。 我能够从linux命令行很好地执行“ant debug”命令并成功完成,但当我试图使用jenkins前端从git hub调试Android项目时,我将构建目标设置为“Invoke ant”,属性为“sdk.dir=/opt/Android sdk linux ics”。它给出以下错误控制台输出: ########################################
########################################################################################
Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/touchanimtn
Checkout:touchanimtn / /var/lib/jenkins/workspace/touchanimtn - hudson.remoting.LocalChannel@72cd429b
Using strategy: Default
Last Built Revision: Revision 3e4b580644fad8b059fb5c13925d3d86fa402187 (origin/HEAD, origin/master)
Fetching changes from 1 remote Git repository
Fetching upstream changes from https://github.com/ssamar/touchanimtn.git
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Commencing build of Revision 3e4b580644fad8b059fb5c13925d3d86fa402187 (origin/HEAD, origin/master)
Checking out Revision 3e4b580644fad8b059fb5c13925d3d86fa402187 (origin/HEAD, origin/master)
Warning : There are multiple branch changesets here
[touchanimtn] $ ant -Dsdk.dir=/opt/android-sdk-linux-ics clean debug
Buildfile: /var/lib/jenkins/workspace/touchanimtn/build.xml
BUILD FAILED
/var/lib/jenkins/workspace/touchanimtn/build.xml:83: Cannot find /opt/android-sdk-linux-ics/tools/ant/build.xml imported from /var/lib/jenkins/workspace/touchanimtn/build.xml
Total time: 0 seconds
Build step 'Invoke Ant' marked build as failure
Finished: FAILURE
###################################################################################
我还尝试将“android sdk linux ics”放入主文件夹,但给出了相同的错误
请为我提供此错误的正确解决方案。您的Android SDK的根目录不在
/opt/Android SDK linux ics
(即工具
目录应该在那里,没有中间目录),或者SDK确实存在,但是jenkins
用户没有访问它的权限。这是一个很好的问题,在以前安装过android SDK的linux系统上安装jenkins时,会有更多人面临这个问题
问题在于android SDK的路径不正确(1),或者jenkins用户访问android SDK安装路径的权限不足(2)
1) 路径:仔细检查失败的jenkins项目的ant构建步骤上的路径。转到ant构建步骤并单击高级。在那里,属性字段中应该列出sdk.dir=SOME/PATH。对于多个值,请确保展开字段并为每个值使用新行。也不要在你的论点中加入-D,因为詹金斯会在每一行中都这样做
2) 权限:再次检查此处列出的android sdk文件夹的权限。使用ls-l
获取当前权限列表,如果需要,使用chmod
更新权限
注:
切换到系统上的jenkins用户并自己测试shell中失败的命令总是一个好主意
sudo su jenkins
当我在jenkins配置上启用安全性时,我也出现了这种错误。通过停止jenkins服务、重命名配置文件并重新启动服务,您可以在不丢失设置的情况下禁用安全性
sudo service jenkins stop
sudo mv /var/lib/config.xml /var/lib/config.xml.backup
sudo service jenkins start
我没有深入检查在这种情况下用户应该获得哪些权限,但我知道恢复此更改修复了该问题。此外,我仍然可以使用jenkins用户执行ant脚本,如前所述
这个问题非常相似:可能会帮助某人
无论ANDROID_主页/平台指向何处
这解决了build.xml未找到错误的问题。上周我遇到了同样的问题,设置jenkins用户权限解决了这个问题。