Cordova build androidエラー、TypeError [ERR_INVALID_ARG_TYPE]: The “code” argument must be of type number. Received type string (‘ERR_UNHANDLED_ERROR’)

CordovaにてAndroidをbuildした際、次のエラーとなった場合の解決法。

# cordova platform update android

Using cordova-fetch for cordova-android
Updating android project...
TypeError [ERR_INVALID_ARG_TYPE]: The "code" argument must be of type number. Received type string ('ERR_UNHANDLED_ERROR')
    at process.set [as exitCode] (node:internal/bootstrap/node:123:9)
    at /Users/.../cordova/bin/cordova:32:22

cordova-androidを削除し、最新にアップデートする。

cordova platform rm android

新しく追加。

cordova platform add android

Androidをbuildで次のエラーとなった場合の解決法。

# cordova build android

Updating android project...
TypeError [ERR_INVALID_ARG_TYPE]: The "code" argument must be of type number. Received type string ('ERR_UNHANDLED_ERROR')
    at process.set [as exitCode] (node:internal/bootstrap/node:123:9)
    at /Users/.../cordova/cordova/bin/cordova:32:22
mac:xxxx xxxx$ cordova build android
Checking Java JDK and Android SDK versions
ANDROID_HOME=undefined (recommended setting)
ANDROID_SDK_ROOT=undefined (DEPRECATED)
Using Android SDK: /Users/xxxx/Library/Android/sdk
Subproject Path: CordovaLib
Subproject Path: app

> Task :app:compileDebugJavaWithJavac
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:25: エラー: シンボルを見つけられません
import org.apache.cordova.Whitelist;
                         ^
  シンボル:   クラス Whitelist
  場所: パッケージ org.apache.cordova
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:32: エラー: シンボルを見つけられません
    private Whitelist allowedNavigations;
            ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:33: エラー: シンボルを見つけられません
    private Whitelist allowedIntents;
            ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:34: エラー: シンボルを見つけられません
    private Whitelist allowedRequests;
            ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:48: エラー: シンボルを見つけられません
    public WhitelistPlugin(Whitelist allowedNavigations, Whitelist allowedIntents, Whitelist allowedRequests) {
                           ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:48: エラー: シンボルを見つけられません
    public WhitelistPlugin(Whitelist allowedNavigations, Whitelist allowedIntents, Whitelist allowedRequests) {
                                                         ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:48: エラー: シンボルを見つけられません
    public WhitelistPlugin(Whitelist allowedNavigations, Whitelist allowedIntents, Whitelist allowedRequests) {
                                                                                   ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:138: エラー: シンボルを見つけられません
    public Whitelist getAllowedNavigations() {
           ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:142: エラー: シンボルを見つけられません
    public void setAllowedNavigations(Whitelist allowedNavigations) {
                                      ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:146: エラー: シンボルを見つけられません
    public Whitelist getAllowedIntents() {
           ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:150: エラー: シンボルを見つけられません
    public void setAllowedIntents(Whitelist allowedIntents) {
                                  ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:154: エラー: シンボルを見つけられません
    public Whitelist getAllowedRequests() {
           ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:158: エラー: シンボルを見つけられません
    public void setAllowedRequests(Whitelist allowedRequests) {
                                   ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:41: エラー: シンボルを見つけられません
        this(new Whitelist(), new Whitelist(), null);
                 ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:41: エラー: シンボルを見つけられません
        this(new Whitelist(), new Whitelist(), null);
                                  ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:45: エラー: シンボルを見つけられません
        this(new Whitelist(), new Whitelist(), null);
                 ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:45: エラー: シンボルを見つけられません
        this(new Whitelist(), new Whitelist(), null);
                                  ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:50: エラー: シンボルを見つけられません
            allowedRequests = new Whitelist();
                                  ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:61: エラー: シンボルを見つけられません
            allowedNavigations = new Whitelist();
                                     ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:62: エラー: シンボルを見つけられません
            allowedIntents = new Whitelist();
                                 ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
/Users/.../platforms/android/app/src/main/java/org/apache/cordova/whitelist/WhitelistPlugin.java:63: エラー: シンボルを見つけられません
            allowedRequests = new Whitelist();
                                  ^
  シンボル:   クラス Whitelist
  場所: クラス WhitelistPlugin
注意:一部の入力ファイルは推奨されないAPIを使用またはオーバーライドしています。
注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください。
注意:/Users/.../platforms/android/app/src/main/java/cordova/plugins/Diagnostic.javaの操作は、未チェックまたは安全ではありません。
注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。
エラー21個

> Task :app:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* 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

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 12s
45 actionable tasks: 7 executed, 38 up-to-date
Command failed with exit code 1: /Users/.../platforms/android/gradlew -b /Users/.../platforms/android/build.gradle cdvBuildDebug

cordova-plugin-whitelistを削除し、最新にアップデートする。

cordova plugin rm cordova-plugin-whitelist

最新版を追加する。注意点として、1.3.4以下は同様のエラーとなる。

cordova plugin add cordova-plugin-whitelist@1.3.5