相关疑难解决方法(0)

自动接受所有SDK许可证

自从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)

sdk android gradle android-sdk-tools android-gradle-plugin

415
推荐指数
25
解决办法
31万
查看次数

如何在Windows上的Git中创建文件执行模式权限?

我在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版本支持

参考: …

git

329
推荐指数
6
解决办法
15万
查看次数

Android CI使用Bitbucket管道和Docker

我正在尝试在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

24
推荐指数
1
解决办法
5992
查看次数