jenkins aapt2 执行报错 error=2, No such file or directory

报错如下:

Caused by: java.io.IOException: Cannot run program “/var/jenkins_home/.gradle/caches/transforms-2/files-2.1/9aaeb1036ed80346e59fdc652224e30d/aapt2-3.4.1-5326820-linux/aapt2”: error=2, No such file or directory

解决方法:

  1. 如果你是服务器直接搭建的jenkins,系统是ubuntu/Debian的
    直接运行sudo apt-get install lib32stdc++6 lib32z1

  2. 但如果你是jenkins 运行在docker里,且docker是alpine系统。则麻烦一些,需要下面步骤:

1
2
3
4
5
6
7
8
9
10
11
sudo docker ps
//复制jenkins docker的  CONTAINER ID 项

sudo docker exec -it  -u root 3b781adce809 /bin/bash
//3b781adce809 是第一步拿到的id,执行完就进入了alpine系统

apk add --no-cache --update --virtual=.build-dependencies  ca-certificates  wget
wget https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub -O /etc/apk/keys/sgerrand.rsa.pub
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.32-r0/glibc-2.32-r0.apk -O /tmp/glibc.apk
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.32-r0/glibc-bin-2.32-r0.apk -O /tmp/glibc-bin.apk
apk add --no-cache /tmp/glibc.apk /tmp/glibc-bin.apk

参考链接:

https://stackoverflow.com/questions/51914246/error-on-android-build-aapt2-error-2-no-such-file-or-directory/51914803#51914803

https://github.com/sgerrand/alpine-pkg-glibc