Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Jenkins前端从git调试android项目?_Android_Ant_Jenkins - Fatal编程技术网

如何使用Jenkins前端从git调试android项目?

如何使用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”。它给出以下错误控制台输出: ########################################

我已经在我的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_主页/平台指向何处

  • 到达取景器
  • 带来获取信息
  • 添加Jenkins用户和
  • 授予读取权限

  • 这解决了build.xml未找到错误的问题。

    上周我遇到了同样的问题,设置jenkins用户权限解决了这个问题。