Задача с ошибкой сборки cordova: сбой приложения: mergeDebugResources в linux: arm64

#java #linux #cordova #gradle #android-sdk-tools

#java #linux #кордова #градация #android-sdk-tools

Вопрос:

Я создал проект cordova на kali Linux (работает на виртуальной машине с использованием termux в Android: arm64). когда я запускаю cordova run browser , он выполняется успешно. но когда я запускаю cordova build android , он завершается с этими ошибками

 $ cordova build android
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=/usr/Android-Sdk (recommended setting)
ANDROID_HOME=undefined (DEPRECATED)
Using Android SDK: /usr/Android-Sdk
Subproject Path: CordovaLib
Subproject Path: app
Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be reused, use --status for details
> Task :app:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Multiple task action failures occurred:
   > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
      > AAPT2 aapt2-4.0.0-6051327-linux Daemon #0: Daemon startup failed
        This should not happen under normal circumstances, please file an issue if it does.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
      > AAPT2 aapt2-4.0.0-6051327-linux Daemon #2: Daemon startup failed
        This should not happen under normal circumstances, please file an issue if it does.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
      > AAPT2 aapt2-4.0.0-6051327-linux Daemon #7: Daemon startup failed
        This should not happen under normal circumstances, please file an issue if it does.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
      > AAPT2 aapt2-4.0.0-6051327-linux Daemon #5: Daemon startup failed
        This should not happen under normal circumstances, please file an issue if it does.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
      > AAPT2 aapt2-4.0.0-6051327-linux Daemon #4: Daemon startup failed
        This should not happen under normal circumstances, please file an issue if it does.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
      > AAPT2 aapt2-4.0.0-6051327-linux Daemon #3: Daemon startup failed
        This should not happen under normal circumstances, please file an issue if it does.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
      > AAPT2 aapt2-4.0.0-6051327-linux Daemon #6: Daemon startup failed
        This should not happen under normal circumstances, please file an issue if it does.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
      > AAPT2 aapt2-4.0.0-6051327-linux Daemon #1: Daemon startup failed
        This should not happen under normal circumstances, please file an issue if it does.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 8s
28 actionable tasks: 18 executed, 10 up-to-date
Command failed with exit code 1: /root/hello/platforms/android/gradlew cdvBuildDebug -b /root/hello/platforms/android/build.gradle
$
 

что пошло не так с этим;
gradle показывает «gradle daemon 1 incomputible» эту проблему с архитектурой устройства?

cordova требует вывода здесь:-

 $ cordova requirements                                     
Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-29,android-28
Gradle: installed /usr/gradle/bin/gradle
$ 
 

и вывод gradle-версии-

 $ gradle -version

------------------------------------------------------------
Gradle 6.7.1
------------------------------------------------------------

Build time:   2020-11-16 17:09:24 UTC
Revision:     2972ff02f3210d2ceed2f1ea880f026acfbab5c0

Kotlin:       1.3.72
Groovy:       2.5.12
Ant:          Apache Ant(TM) version 1.10.8 compiled on May 10 2020
JVM:          1.8.0_271 (Oracle Corporation 25.271-b09)
OS:           Linux 3.18.120-perf-gd85b39b aarch64
$
 

Комментарии:

1. Ваш антивирус блокирует исполняемый файл aapt2? Вы можете найти «aapt2-4.0.0-6051327- linux / aapt2» в вашем кэше gradle и попробуйте выполнить его из командной строки, чтобы узнать, есть ли проблемы с самим исполняемым файлом

Ответ №1:

Хорошо, я не эксперт в этом, но я столкнулся с подобной проблемой, и я исправил ее, запустив cordova run build с включенным подключением к Интернету. Я думаю, вам нужно подключение к Интернету для создания приложений cordova.

Ответ №2:

Двоичный файл aapt2 совместим только с amd64, но не с arm64 / aarch64. Вы можете найти двоичный ~/.gradle/caches файл aapt2 и попытаться заменить его на эту версию: https://github.com/JonForShort/android-tools/tree/master/build/android-11.0.0_r33/aapt2/arm64-v8a/bin

Это может сработать. Вот сообщение в блоге, объясняющее, как это сделать: https://linuxtut.com/en/ec63aa8bff5103982156 /