Сбой сборки Gradle с .... Не удалось создать компонент по причине «диалога»: java.awt.HeadlessException - PullRequest
1 голос
/ 27 марта 2019

Я получаю следующую ошибку каждый раз, когда пытаюсь подписать свой apk-файл при использовании Android Studio или интерфейса командной строки:

BUILD FAILED in 4s
cmd: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

* Where:
Script 'C:\coderepo\puppydogmobile\puppydogmobile\platforms\android\CordovaLib\cordova.gradle' line: 148

* What went wrong:
Failed to create component for 'dialog' reason: java.awt.HeadlessException
> java.awt.HeadlessException (no error message)

Я видел много комментариев к этой ошибке, но никаких исправлений, только обходные путикоторые не работают во многих случаях.Может кто-нибудь сказать мне, если там было обновление для этой проблемы.Я попробовал это решение: установив

System.setProperty('java.awt.headless', 'false') from 

https://stackoverflow.com/questions/45909265/failed-to-create-component-for-dialog-reason-java-awt-headlessexception

оно не работало '

Последний совет, который я получил, был жестко закодировать мой pswd хранилища ключей в файле platform \ android \ CordovaLib \ cordova.gradleкак это:

def doPromptForPassword(msg) {
    if (System.console() == null) {
        def ret = 'password'   
        new SwingBuilder().edt {
            dialog(modal: true, title: 'Enter password', alwaysOnTop: true, resizable: false, locationRelativeTo: null, pack: true, show: true) {
                vbox {
                    label(text: msg)
                    def input = passwordField()
                    button(defaultButton: true, text: 'OK', actionPerformed: {
                        ret = input.password;
                        dispose();
                    })
                }
            }
        }

, что в любом случае является плохим взломом и угрозой безопасности, и это не сработало.Мне действительно нужно знать, что является последним решением этой проблемы!

ЭТО МОЯ СРЕДА Ionic:

ionic (Ionic CLI): 4.2.1 (C: \ Users \ maenn \ AppData\ Roaming \ npm \ node_modules \ ionic) Ionic Framework: ионно-угловой 3.9.2 @ ionic / app-scripts: 3.1.8

Cordova:

cordova (Cordova CLI): 8.1.2 (cordova-lib@8.1.1) Платформы Cordova: android 6.4.0 Плагины Cordova: cordova-plugin-ionic-клавиатура 2.1.3, cordova-plugin-ionic-webview 1.2.1, (и 17 других плагинов)

Система:

Инструменты Android SDK: 26.1.1 (C: \ Users \ maenn \ AppData \ Local \ Android \ Sdk) NodeJS: v8.11.4 (C: \ Program Files \ nodejs \ node.exe) npm: 5.6.0 ОС: Windows 10

Кроме того, моя цель настроена так:

 defaultConfig {
        versionCode cdvVersionCode ?: new BigInteger("" + privateHelpers.extractIntFromManifest("versionCode"))
        applicationId privateHelpers.extractStringFromManifest("package")

        if (cdvMinSdkVersion != null) {
            minSdkVersion cdvMinSdkVersion
        }
      minSdkVersion 16
      targetSdkVersion 26
    }

Я также использую Android Studio 3.3.2 для сборки приложений и пакетов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...