Установленный cordova-plugin-file-Transfer вызывает сбой сборки Android - PullRequest
0 голосов
/ 20 мая 2018

Моя ionic info среда:

cli пакеты: (C: \ Users \ jessica \ AppData \ Roaming \ npm \ node_modules)

@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0

глобальные пакеты:

cordova (Cordova CLI) : 8.0.0

локальные пакеты:

@ionic/app-scripts : 3.0.1
Cordova Platforms  : android 6.2.3 browser 5.0.1
Ionic Framework    : ionic-angular 3.8.0

Система:

Android SDK Tools : 25.2.5
Node              : v6.10.3
npm               : 6.0.1
OS                : Windows 8.1

Переменные среды:

ANDROID_HOME : C:\Program Files (x86)\Android\android-sdk

Разное:

backend : legacy`

После установки ionic cordova plugin add cordova-plugin-file-transfer появляется ошибка ниже, когда я запускаю команду ionic cordova build android

: compileDebugJavaWithJavac - не инкрементно (например, выходные данные изменены, без предыдущего выполнения и т. Д.).F: \ D \ IONIC \ quicktask \ quicktask-android \ quicktask \ platform \ android \ src \ org \ apache \ cordova \ filetransfer \ FileTransfer.java: 49: ошибка: пакет org.apache.cordova.file не существует, импортировать org.apache.cordova.file.FileUtils;^ F: \ D \ IONIC \ quicktask \ quicktask-android \ quicktask \ платформы \ android \ src \ org \ apache \ cordova \ filetransfer \ FileTransfer.java: 851: ошибка: не удается найти символ

                    FileUtils filePlugin = (FileUtils) pm.getPlugin("File");
                    ^   symbol: class FileUtils F:\D\IONIC\quicktask\quicktask-android\quicktask\platforms\android\src\org\apache\cordova\filetransfer\FileTransfer.java:851:

ошибка: не удается найти символ FileUtils filePlugin = (FileUtils) pm.getPlugin ("File");^ символ: класс FileUtils Примечание. Некоторые входные файлы используют или перезаписывают устаревший API.

Примечание. Перекомпилируйте с параметром -Xlint: устаревание для получения подробной информации.Примечание: F: \ D \ IONIC \ quicktask \ quicktask-android \ quicktask \ platform \ android \ src \ org \ apache \ cordova \ filetransfer \ FileTransfer.java использует непроверенные или небезопасные операции.Примечание: Перекомпилируйте с -Xlint: не проверено для деталей.3 ошибки: compileDebugJavaWithJavac FAILED

FAILURE: сборка не удалась с исключением.

  • Что пошло не так: выполнение задачи не выполнено ': compileDebugJavaWithJavac'.

    Компиляция не удалась;подробности смотрите в сообщении об ошибке компилятора.

  • Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека.Запустите с параметром --info или --debug, чтобы получить больше вывода журнала.BUILD FAILED

Общее время: 48,087 с

(узел: 6372) UnhandledPromiseRejectionWarning: необработанное отклонение обещания (идентификатор отклонения: 1): ошибка: cmd: команда завершилась неудачно с выходомКод 1 Вывод ошибки: Примечание. Некоторые входные файлы используют или отменяют устаревший API.Примечание: Перекомпилируйте с -Xlint: не рекомендуется для деталей.Примечание. Некоторые входные файлы используют или отменяют устаревший API.Примечание: Перекомпилируйте с -Xlint: не рекомендуется для деталей.F: \ D \ IONIC \ quicktask \ quicktask-android \ quicktask \ platform \ android \ src \ org \ apache \ cordova \ filetransfer \ FileTransfer.java: 49: ошибка: пакет org.apache.cordova.file не существует, импортировать org.apache.cordova.file.FileUtils;^ F: \ D \ IONIC \ quicktask \ quicktask-android \ quicktask \ платформы \ android \ src \ org \ apache \ cordova \ filetransfer \ FileTransfer.java: 851: ошибка: не удается найти символ FileUtils filePlugin = (FileUtils) pm.getPlugin("Файл");^ символ: класс FileUtils F: \ D \ IONIC \ quicktask \ quicktask-android \ quicktask \ платформы \ android \ src \ org \ apache \ cordova \ filetransfer \ FileTransfer.java: 851: ошибка: не удается найти символ FileUtils filePlugin = (FileUtils) pm.getPlugin ("Файл");^ символ: класс FileUtils Примечание. Некоторые входные файлы используют или отменяют устаревший API.Примечание: Перекомпилируйте с -Xlint: не рекомендуется для деталей.Примечание: F: \ D \ IONIC \ quicktask \ quicktask-android \ quicktask \ platform \ android \ src \ org \ apache \ cordova \ filetransfer \ FileTransfer.java использует непроверенные или небезопасные операции.Примечание: Перекомпилируйте с -Xlint: не проверено для деталей.3 ошибки

FAILURE: сборка не удалась с исключением.

  • Что пошло не так: выполнение задачи не выполнено ': compileDebugJavaWithJavac'.

    Компиляция не удалась;подробности смотрите в сообщении об ошибке компилятора.

  • Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека.Запустите с параметром --info или --debug, чтобы получить дополнительные выходные данные журнала.

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Я также столкнулся с этой проблемой, которая вызвана низкой версией Cordova-Android.Если вы работаете на платформе ionic cordova add android, заметили, что файл cordova-plugin-file необходим для версии cordova-android, которая больше или равна 6.3.0.

Так что просто запустите команду:

ionic cordova platform remove android
ionic cordova platform add android@6.3.0

Это будет успешно упаковано после запуска ионной сборки.

0 голосов
/ 20 мая 2018

Это из-за какой-то версии поддержки Android.Если вы проверите свой проект Android в какой-то IDE студии Android, вы увидите версию поддержки Android, которая не совместима с версией, используемой этим плагином File.

Вы можете использовать плагин cordova-android-support-gradle-release, он может помочь вам установить правильную версию во время сборки.Вы можете гуглить это о том, как использовать это.

...