Ошибка при сборке 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
Другие вопросы по тегам