Travis 上接受 SDK License

在 Travis 上构建项目时有时会遇到自己设备构建成功了,却在 Travis 上提示某个 component 安装失败,需要接受其对应的 license。在失败时其实已经给出一个地址说明了解决方法:https://developer.android.com/studio/intro/update#download-with-gradle

GitLab CI 配置构建 Android 项目

标准步骤

  1. 配置 GitLab Runner
  2. 添加配置文件。.gitlab-ci.yaml 文件规则 https://docs.gitlab.com/ce/ci/yaml/

可以参考官方提供的文档来试试 https://about.gitlab.com/2016/11/30/setting-up-gitlab-ci-for-android-projects/

Jenkins 中如何让 Android SDK 根据需要自动更新

每次项目中切换了新的 support,总是要登录构建服务器更新一下 SDK,很麻烦。其实 Jenkins 本身是支持自动更新的,稍微留一下会发现,构建时不存在的 SDK 的报错信息为:

You have not accepted the license agreements of the following SDK components: …

原来是 license 问题,需要手动去 agree 才能进行下一步,所以就中断了。但其实是可以跳过的,Stackoverflow 上有人引用了 Jake Wharton 给出了方法:

1
2
3
mkdir "$ANDROID_SDK/licenses" || true
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_SDK/licenses/android-sdk-license"
echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_SDK/licenses/android-sdk-preview-license"

上面的哈希字符串据说是 license 文本的 sha1,所以如果 license 换掉的话也会失效。暂时这样用吧。

参考:http://stackoverflow.com/questions/38096225/automatically-accept-all-sdk-licences

搭建 jenkins 构建 Android 项目

之前用过 Flow.ci、Travis 等公共的 CI 工具感觉很方便,但毕竟源码在别人那里多少有点别扭。Jenkins 是一个免费的高度可定制的 CI 开源项目,现在的公司使用它来构建 Android 项目,所以也来试一试,记录下搭建的过程以及遇到的问题,供自己和需要的人参考。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×