Travis试图将应用程序提交到Google的Play商店时出错

时间:2014-10-07 17:39:35

标签: google-api android-gradle google-api-java-client travis-ci google-play

我开始研究我在Github上找到的几个要点:https://gist.github.com/lpetre/87a5196d14cf4484f1f2

这在我的笔记本电脑上运行得很好,但是我正在尝试设置Travis-CI来自动构建发布APK并将其提交到Play商店。我现在遇到的问题是在Travis方面,因为我无法使用pip来安装google_api_python_client。

在电话会议上,我得到以下信息:

 Installing collected packages: google-api-python-client, httplib2
  Running setup.py install for google-api-python-client
    error: could not create '/usr/local/lib/python2.7/dist-packages/apiclient': Permission denied
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_travis/google-api-python-client/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ctZKCR-record/install-record.txt --single-version-externally-managed --compile:

所以我偏离了使用pip,自己下载了python客户端库,现在将它们包含在我的git repo中(在/ google_api_upload下)。

Google的API上传客户端库指令(https://github.com/googlesamples/android-play-publisher-api/blob/master/v2/python/README.md)的一部分说在python控制台中运行“import apiclient”(再次,在我的笔记本电脑上工作正常,但不是travis,因为我无法启动python会话并输入“import apiclient”到目前为止我发现;它只是挂在python会话上。

然后我认为在我的gradle文件中调用API函数的Gradle函数非常棒,并且从travis.yml文件中调用它。但我甚至不知道这是否可能。

所以任何输入都会有所帮助,特别是:

  • 我是否因为尝试在特拉维斯上跑步而陷入困境?我可以sudo提升权限(我想我不能)
  • 有没有办法在travis.yml文件的一行内为python调用“import apiclient”?
  • 是否可以让travis调用gradle函数,该函数引用我的构建中包含的客户端库?
  • 我试图找到这个端到端流程的例子,但是没有找到任何适合这种情况的例子,你知道吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

我有类似的错误消息

error: could not create '/usr/local/lib/python2.7/dist-packages/googleapiclient': Permission denied

并通过添加sudo来修复此问题:

sudo pip install google-api-python-client

比较构建#162#163

答案 1 :(得分:0)

得到了Travis的支持,但尚未确认。

  

我认为这是一个报道的问题   https://github.com/travis-ci/travis-ci/issues/2280。   https://github.com/travis-ci/travis-ci/issues/2280#issuecomment-42798869   建议添加" mvn -pl extras / google-play-services安装"   应该做的。