- 移动开发
- UI组件
【免费下载链接】Android-ObservableScrollView
Android library to observe scroll events on scrollable views.
本篇指南讲解如何从本项目使用的 wercker 持续集成(CI)服务中下载最新版本的示例 APK。Android-ObservableScrollView 通过 wercker.yml 在每次提交后自动构建samples模块,并把构建产物作为 artifact 上传,因此只要登录 wercker 并按本文流程操作,即可拿到比 Google Play 商店更新、与 master 分支代码同步的示例安装包。阅读本文后,你将掌握从构建徽章进入构建列表、定位成功构建、打开结果面板并下载artifact.tar.gz的完整路径,同时了解这套流程背后的 CI 配置实现。
为什么需要从 wercker 下载
本项目提供三种获取示例 App 的途径(见 docs/example/index.md):
- 从 Google Play 下载:安装最方便,但Play 商店上的版本不一定是最新的(README 与 google-play.md 均明确提示);
- 从 wercker 下载(本文主题):直接获取 master 分支最新构建产物,适合需要体验最新效果或验证最新代码的用户;
- 在 Android Studio 上手动构建:可得到最完整的开发体验,但需要本地准备 Android 构建环境。
如果你不是 wercker 用户,对下载最新 APK 也不感兴趣,可以直接跳到下一主题(Android Studio 构建)。
前置条件:登录 wercker
要从 wercker 下载构建产物,必须满足两个条件:
- 你已经是 wercker 的注册用户;
- 在下载 App 之前,必须先登录wercker 账号。
wercker 要求登录后才允许访问项目的构建记录与 artifact,这是访问控制的一部分。若未登录,即使拿到项目链接也会被引导至登录页。
通过构建徽章访问仓库构建页
wercker 为公开项目提供一枚状态徽章(status badge),点击它即可进入该仓库的构建列表。本项目的徽章位于仓库根目录 README.md 的 "Download from wercker" 小节:
在构建列表页面中,你会看到按提交(commit)排列的若干构建记录。
选择要下载的构建
在构建列表中,每个提交链接前都有状态标记,用于区分构建结果:
- 绿色对勾:该提交构建成功(绿色标记为 success);
- 红色标记:构建失败(failure)。
只能从绿色(成功)的构建中下载 APK,失败的构建不会产出可用的安装包。
打开 "inspect build result" 面板
找到目标构建后,向下滚动页面,点击"inspect build result"(检查构建结果)区域的任意位置将其展开。
展开后即可看到该构建上传的 artifact 列表。
下载 artifact 中的 APK
最后,点击列表中的artifact.tar.gz链接即可下载构建产物压缩包。解压后即可得到本次构建生成的示例 APK 文件(位于samples/build/outputs/apk/目录下)。
补充说明:wercker 只对成功构建自动上传 artifact,这也解释了为何只有绿色构建才可下载——这正是由下方 CI 配置中
after-steps的行为决定的。
源码印证:wercker.yml 中的构建与产物输出逻辑
下载流程中的每一步操作,都能在仓库根目录的 wercker.yml 中找到对应的自动化实现。该文件完整定义了本项目的 CI 构建流程:
box: wercker/android # Build definition build: # The steps that will be executed on build steps: - script: name: show base information code: | ./gradlew -v echo $ANDROID_HOME echo $ANDROID_SDK_VERSION echo $ANDROID_BUILD_TOOLS echo $ANDROID_UPDATE_FILTER echo $ANDROID_NDK_HOME - android-sdk-update: filter: tools,platform-tools - android-sdk-update: filter: android-21,android-22,android-23,build-tools-23.0.2,extra-android-support,extra-android-m2repository # A step that executes `gradle build` command - script: name: run gradle code: | ./gradlew --full-stacktrace -q --project-cache-dir=$WERCKER_CACHE_DIR assembleDebug after-steps: - script: name: inspect build result code: | ls -la ./samples/build/outputs/apk cp ./samples/build/outputs/apk/*.apk $WERCKER_REPORT_ARTIFACTS_DIR rm -f $WERCKER_REPORT_ARTIFACTS_DIR/*-unaligned.apk对照下载流程,可以梳理出关键环节:
1. 构建环境与 SDK 初始化
box: wercker/android:指定构建运行在 wercker 官方提供的 Android 容器镜像中;- 第一步
script(show base information)输出 Gradle 版本与ANDROID_HOME、ANDROID_SDK_VERSION、ANDROID_BUILD_TOOLS、ANDROID_UPDATE_FILTER、ANDROID_NDK_HOME等环境变量,便于在构建日志中核对环境; - 两个
android-sdk-update步骤按filter安装构建所需组件:先是tools,platform-tools,再补装android-21、android-22、android-23平台、build-tools-23.0.2构建工具,以及extra-android-support、extra-android-m2repository支持库。其中 android-23 平台对应 docs/reference/environment.md 中 Android SDK 相关构建前提。
2. Gradle 构建命令
run gradle步骤执行:
./gradlew --full-stacktrace -q --project-cache-dir=$WERCKER_CACHE_DIR assembleDebug- 通过仓库自带的 Gradle Wrapper(gradle/wrapper/gradle-wrapper.properties 指定 Gradle 2.4)执行构建,保证 CI 与本地构建使用一致的 Gradle 版本;
assembleDebug构建Debug 变体的 APK——这解释了为什么 wercker 上提供的是可直接安装的调试包;--project-cache-dir=$WERCKER_CACHE_DIR将 Gradle 缓存指到 wercker 的缓存目录,以加速重复构建。
3. after-steps 产出 artifact
关键在after-steps的 "inspect build result" 脚本:
ls -la ./samples/build/outputs/apk cp ./samples/build/outputs/apk/*.apk $WERCKER_REPORT_ARTIFACTS_DIR rm -f $WERCKER_REPORT_ARTIFACTS_DIR/*-unaligned.apk- 构建产物来自
samples模块(settings.gradle 中include ':library', ':samples'确认了该模块结构),输出目录为samples/build/outputs/apk; - 所有
.apk文件被拷贝到$WERCKER_REPORT_ARTIFACTS_DIR,即 wercker 的 artifact 上报目录——这正是你在 "inspect build result" 面板中看到的artifact.tar.gz的来源; rm -f *-unaligned.apk会剔除*-unaligned.apk(未对齐的中间产物),只保留最终可用于安装的 APK。
从源码结构看,gradle/version.gradle 还会在构建时用 git 短提交号命名 APK,因此 wercker 上每个构建产物的版本信息都能与对应 commit 对应起来,进一步印证了"选择绿色 commit 构建"这一步骤的必要性。
与其它获取方式的衔接
- 若你希望在不登录 wercker 的情况下获得与 master 同步的产物,可以按 docs/example/android-studio.md 的指引克隆仓库并执行
./gradlew installDevDebug手动安装; - 如果只是想快速体验且不追求最新版本,走 docs/example/google-play.md 的 Google Play 途径即可。
两篇文档与本文一起,构成了"快速体验示例 App"的完整入口(见 docs/example/index.md)。
- 移动开发
- UI组件
【免费下载链接】Android-ObservableScrollView
Android library to observe scroll events on scrollable views.
相关推荐
Transmission 测试指南:下载 CI 构建产物并在 macOS(含 Apple Silicon)上运行
Transmission 测试指南:下载 CI 构建产物并在 macOS(含 Apple Silicon)上运行 本文基于 docs/Testing Trans
桌面应用后端CLI网络Skia 测试产物下载指南:使用 isolateserver.py 拉取 Isolate 构建输出
Skia 测试产物下载指南:使用 isolateserver.py 拉取 Isolate 构建输出 本篇技术指南介绍如何将 Skia 自动化测试(由 Swarm
图形学Kubernetes 构建产物获取指南:Version Markers 与 hack/get-build.sh 实战
Kubernetes 构建产物获取指南:Version Markers 与 hack/get build.sh 实战 本文是 Kubernetes 社区(com
开源治理文档研发协作
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考