Ошибка «CALL_AND_RETRY_LAST Allocation» при сборке Ionic для Android - PullRequest
0 голосов
/ 25 апреля 2018

Я использую Ionic для сборки под Android и всегда получаю эту ошибку:

ionic error

У меня это от ionic info:

ionic info

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

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

Security context: 000001F502E3FA99 <JS Object>     
    1: createLiteral [..]    
    2: typeToTypeNodeHelper(aka typeToTypeNodeHelper) [..]

Я застрял на этом более 2 дней, и мне действительно нужна помощь и руководство по этому вопросу.

Вот мой контент package.json:

{
    "name": "project",
    "version": "0.0.1",
    "author": "Ionic Framework",
    "homepage": "http://ionicframework.com/",
    "private": true,
    "scripts": {
        "clean": "ionic-app-scripts clean",
        "build": "ionic-app-scripts build",
        "lint": "ionic-app-scripts lint",
        "ionic:build": "ionic-app-scripts build",
        "ionic:serve": "ionic-app-scripts serve"
    },
    "dependencies": {
        "@angular/common": "5.2.10",
        "@angular/compiler": "5.2.10",
        "@angular/compiler-cli": "5.2.10",
        "@angular/core": "5.2.10",
        "@angular/forms": "5.2.10",
        "@angular/http": "5.2.10",
        "@angular/platform-browser": "5.2.10",
        "@angular/platform-browser-dynamic": "5.2.10",
        "@ionic-native/camera": "^4.5.2",
        "@ionic-native/core": "4.4.0",
        "@ionic-native/file": "^4.7.0",
        "@ionic-native/file-chooser": "^4.7.0",
        "@ionic-native/file-path": "^4.7.0",
        "@ionic-native/geolocation": "^4.7.0",
        "@ionic-native/onesignal": "^4.5.2",
        "@ionic-native/splash-screen": "4.4.0",
        "@ionic-native/status-bar": "4.4.0",
        "@ionic-native/twitter-connect": "^4.5.2",
        "@ionic/storage": "2.1.3",
        "angularfire2": "^5.0.0-rc.6",
        "cordova-android": "^7.0.0",
        "cordova-browser": "~5.0.3",
        "cordova-ios": "4.5.4",
        "cordova-plugin-camera": "^2.4.1",
        "cordova-plugin-compat": "^1.2.0",
        "cordova-plugin-device": "^1.1.7",
        "cordova-plugin-file": "^6.0.1",
        "cordova-plugin-filechooser": "^1.0.1",
        "cordova-plugin-filepath": "^1.3.0",
        "cordova-plugin-geolocation": "^4.0.1",
        "cordova-plugin-inappbrowser": "^2.0.2",
        "cordova-plugin-ionic-webview": "^1.2.0",
        "cordova-plugin-splashscreen": "^4.1.0",
        "cordova-plugin-statusbar": "^2.4.2",
        "cordova-plugin-whitelist": "^1.3.3",
        "firebase": "^4.12.1",
        "ionic-angular": "3.9.2",
        "ionic-plugin-keyboard": "^2.2.1",
        "ionicons": "3.0.0",
        "jssha": "^1.6.2",
        "moment": "^2.20.1",
        "onesignal-cordova-plugin": "^2.2.5",
        "rxjs": "5.5.2",
        "sw-toolbox": "3.6.0",
        "twitter-connect-plugin": "git+https://github.com/chroa/twitter-connect-plugin.git",
        "zone.js": "0.8.18"
    },
    "devDependencies": {
        "@angular/cli": "^1.7.3",
        "@angular-devkit/build-optimizer": "^0.5.7",
        "@ionic/app-scripts": "^3.1.8",
        "@types/jssha": "0.0.29",
        "typescript": "^2.6.2"
    },
    "description": "An Ionic project",
    "cordova": {
        "plugins": {
            "cordova-plugin-inappbrowser": {},
            "cordova-plugin-device": {},
            "cordova-plugin-ionic-webview": {},
            "cordova-plugin-splashscreen": {},
            "ionic-plugin-keyboard": {},
            "cordova-plugin-filechooser": {},
            "cordova-plugin-camera": {
                "CAMERA_USAGE_DESCRIPTION": " ",
                "PHOTOLIBRARY_USAGE_DESCRIPTION": " "
            },
            "twitter-connect-plugin": {
                "FABRIC_KEY": "XXXXXXXXXX",
                "TWITTER_KEY": "YYYYYYYYY",
                "TWITTER_SECRET": "ZZZZZZZZZZZZZZZ"
            },
            "cordova-plugin-statusbar": {},
            "cordova-plugin-filepath": {},
            "cordova-plugin-file": {},
            "cordova-plugin-geolocation": {}
        },
        "platforms": [
            "ios",
            "browser",
            "android"
        ]
    },
    "main": "index.js",
    "license": "ISC"
}

Редактировать: я обновил свой npm, как предложено @Suraj Rao, и у меня есть версия 6.0.0 в качестве текущей версии, затем я попытался снова собрать и получил это новая связанная ошибка

Ответы [ 2 ]

0 голосов
/ 29 апреля 2018

Я заметил, что некоторые из проблем заключались в несовместимости зависимостей (для некоторых зависимостей требовалась определенная версия), но особенно в - prod в синтаксисе сборки ionic cordova. Этот вариант сборки - своего рода кошмар. Шахта осталась более 7 часов без остановки. Без этой опции это означает, что вы строите с угловым компилятором, когда вам нужно AOT. После долгого просмотра и чтения я смог собрать без --prod, но все еще используя AOT с помощью этой команды ionic cordova run android --aot true --environmen t prod --output-hashing all --sourcemaps false --extract-css true - named-chunks false --build-optimizer true проверить здесь . Хотя не уверен, что это правильно, но я получил желаемый результат.

0 голосов
/ 25 апреля 2018

Вы можете попробовать эти шаги, это может вам помочь!

Прежде всего, попробуйте npm install И выполните любой из следующих подходов ...

  1. добавить это в сценарии package.json

    "ionic:build": "node --max-old-space-size=8192 ./node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js build",

  2. запустите команду:

    npm run ionic:build --prod

  3. Запустите команды:

    cordova build android --release cordova build ios --release

ИЛИ альтернативно

Изменение:

node_modules/.bin/ionic-app-scripts.cmd

Путем добавления:

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe"  "%~dp0\..\@ionic\app-scripts\bin\ionic-app-scripts.js" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node --max_old_space_size=4096  "%~dp0\..\@ionic\app-scripts\bin\ionic-app-scripts.js" %*
)

А потом запустить ionic build android --prod

Источник Нажмите здесь!

Обновление:

Я не совсем уверен, что происходит, но я могу понять, что использование файлов или памяти огромно и превышает лимит.

Попробуйте это,

node --max-old-space-size=8192 --optimize-for-size --max-executable-size=8192 --max_old_space_size=8192 --optimize_for_size --max_executable_size=8192 node_modules/karma/bin/karma start --single-run --max_new_space_size=8192 --prod --aot

Надеюсь, это поможет вам!

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