Docker Android APP编译镜像分享
2019-12-28 本文已影响0人
HanlyJiang
DockerHub地址
用法
普通构建
通过 -v $PWD:/build
把构建目录指向当前目录以编译当前目录下的app,当然也可指向任意代码所在目录
# mac / linux
docker run --rm -v $PWD:/build sh ./gradlew app:tasks
# windows
docker run --rm -v %CD%:/build .\gradlew.bat app:tasks
镜像内未内置gradle,所以需要使用工程目录下的 gradlew 或 gradlew.bat 脚本来使用gradle构建
挂载外部目录加速构建
使用本地的.gradle 缓存加速构建
通过 -v ~/.gradle:/root/.gradle 来使用本地的gradle加速gradle构建
docker run --rm -v $PWD:/build -v ~/.gradle:/root/.gradle hanlyjiang/android-build:latest sh ./gradlew app:tasks
挂载 platform及 build-tools
由于镜像内只内置了一个版本的platform及buildtools,当构建不同版本的项目时,会存在每次都需要重复下载的情况,把对应的build-tools目录及platform目录挂载出来,可以避免二次下载,浪费时间:
docker run --rm -v $PWD:/build -v ~/.gradle:/root/.gradle \
-v android_build_tools:/android-sdk/build-tools \
-v android_platforms:/android-sdk/platforms \
hanlyjiang/android-build sh ./gradlew app:tasks
作为adb使用
docker run --rm adb