自从gradle android插件2.2-alpha4:
Gradle将尝试下载项目所依赖的缺失SDK包
这真是太酷了,并且被认为是一个JakeWharton项目.
但是,要下载SDK库,您需要:接受许可协议或gradle告诉您:
您尚未接受以下SDK组件的许可协议:[Android SDK Build-Tools 24,Android SDK Platform 24].在构建项目之前,您需要接受许可协议并使用Android Studio SDK Manager完成缺少的组件的安装.或者,要了解如何将许可协议从一个工作站转移到另一个工作站,请访问 http://d.android.com/r/studio-ui/export-licenses.html
这是一个问题,因为我喜欢在做一个时安装所有sdk依赖项gradle build.
我正在寻找一种自动接受所有许可证的解决方案.也许是一个gradle脚本?你有什么想法 ?
谢谢!
[编辑]
解决方案是执行:
android update sdk --no-ui --filter build-tools-24.0.0,android-24,extra-android-m2repository
Run Code Online (Sandbox Code Playgroud)
并手动安装,但这是gradle的新功能目的.
[编辑2]
更好的解决方案是使用sdkmananger:
yes | sdkmanager --licenses
Run Code Online (Sandbox Code Playgroud) 我在Windows中使用Git,并希望通过一次提交将可执行shell脚本推送到git repo.
通常我需要做两个步骤(git commit).
$ vi install.sh
$ git add install.sh
$ git commit -am "add new file for installation" # first commit
[master f2e92da] add support for install.sh
1 files changed, 18 insertions(+), 3 deletions(-)
create mode 100644 install.sh
$ git update-index --chmod=+x install.sh
$ git commit -am "update file permission" # second commit
[master 317ba0c] update file permission
0 files changed
mode change 100644 => 100755 install.sh
Run Code Online (Sandbox Code Playgroud)
如何将这两个步骤合并为一步?git配置?Windows命令?
提醒:两个答案都很好,git add --chmod=+x file新git版本支持
参考: …
我正在尝试在Android的Bitbucket管道中设置持续集成(CI).
我使用Android Studio 2.1.1创建了一个示例空白活动.
使用Pipelines我正在使用uber/android-build-environment Docker容器,它可以很好地创建环境.这是我的bitbucket-pipelines.yml
image: uber/android-build-environment:latest
pipelines:
default:
- step:
script:
- echo y | android update sdk --filter "extra-android-m2repository" --no-ui -a # Grab the Android Support Repo which isn't included in the container
- ./gradlew assembleDebug
Run Code Online (Sandbox Code Playgroud)
由于uber/android-build-environment期望像这样运行,因此需要进行一些更改:
docker run -i -v $PWD:/project -t uber/android-build-environment /bin/bash /project/ci/build.sh
Run Code Online (Sandbox Code Playgroud)
例如,源不会复制到卷/project,而是管道将Bitbucket仓库的内容复制到容器的工作目录:
/opt/atlassian/bitbucketci/agent/build
Run Code Online (Sandbox Code Playgroud)
当./gradlew assembleDebug运行出现以下错误:
...
FAILURE: Build failed with an exception.
* What went wrong:
Could not create service of type …Run Code Online (Sandbox Code Playgroud) continuous-integration android bitbucket docker bitbucket-pipelines