Ошибка при сборке Android: "aapt2: error=2, нет такого файла или каталога"
Получение следующей ошибки на сервере сборки.
Download https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.2.0-beta05-4818971/aapt2-3.2.0-beta05-4818971-linux.jar
...
Caused by: java.io.IOException: Cannot run program "/root/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.0-beta05-4818971-linux.jar/43bd0f91870a1f4f8e99e05eefb192e9/aapt2-3.2.0-beta05-4818971-linux/aapt2": error=2, No such file or directory
at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.startProcess(Aapt2DaemonImpl.kt:80)
at com.android.builder.internal.aapt.v2.Aapt2Daemon.checkStarted(Aapt2Daemon.kt:53)
... 8 more
Caused by: java.io.IOException: error=2, No such file or directory
... 10 more
Глядя на скачанный jar-файл, кажется, что искомый файл находится в корне jar-файла. Не уверен, почему он пытается найти его в 43bd0f91870a1f4f8e99e05eefb192e9/aapt2-3.2.0-beta05-4818971-linux/
Используемые версии:
gradle-4.8-all.zip
classpath 'com.android.tools.build:gradle:3.2.0-beta05'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.51"
compileSdkVersion 28
buildToolsVersion '28.0.2'
minSdkVersion 23
targetSdkVersion 28
2 ответа
Решение
Чтобы все работало (это исправило мои проблемы с avd), просто запустите эти две команды:
sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1
Он должен работать!!
В моем конкретном случае это был альпийский дистрибутив Linux, что сделало установку немного сложнее.
В основном нужно установить это: https://github.com/sgerrand/alpine-pkg-glibc
Код докера:
RUN echo "Installing standard dependencies..." \
&& apk add --no-cache --update --virtual=.build-dependencies \
ca-certificates \
wget \
# ---------------------------------------------
&& echo "Installing glibc..." \
&& 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/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk -O /tmp/glibc.apk \
&& wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-bin-${GLIBC_VERSION}.apk -O /tmp/glibc-bin.apk \
&& apk add --no-cache /tmp/glibc.apk /tmp/glibc-bin.apk