安装了cordova-plugin-file-transfer导致Android构建失败

时间:2018-05-20 13:11:57

标签: cordova ionic-framework ionic2 ionic3 phonegap-plugins

我的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 \离子\快速任务\快速任务功能的Android \快速任务\平台\机器人的\ src \组织\阿帕奇\科尔多瓦\文件传输\ FileTransfer.java:49:   错误:包org.apache.cordova.file不存在导入   org.apache.cordova.file.FileUtils;                                 ^ F:\ D \ IONIC \ quicktask \ quicktask-android \ quicktask \ platforms \ 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 \离子\快速任务\快速任务功能的Android \快速任务\平台\机器人的\ src \组织\阿帕奇\科尔多瓦\文件传输\ FileTransfer.java   使用未经检查或不安全的操作。注意:重新编译   -Xlint:取消选中以获取详细信息。 3个错误:compileDebugJavaWithJavac FAILED

     

失败:构建因异常而失败。

     
      
  • 出了什么问题:任务'执行失败':compileDebugJavaWithJavac'。

         
        

    编译失败;有关详细信息,请参阅编译器错误输出。

      
  •   
  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。建立失败

  •   
     

总时间:48.087秒

     

(node:6372)UnhandledPromiseRejectionWarning:未处理的承诺   rejection(拒绝ID:1):错误:cmd:命令失败,退出代码   1错误输出:注意:某些输入文件使用或覆盖不推荐使用的文件   API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意:有些   输入文件使用或覆盖已弃用的API。注意:重新编译   -Xlint:弃用细节。 F:\ d \离子\快速任务\快速任务功能的Android \快速任务\平台\机器人的\ src \组织\阿帕奇\科尔多瓦\文件传输\ FileTransfer.java:49:   错误:包org.apache.cordova.file不存在导入   org.apache.cordova.file.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 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 \离子\快速任务\快速任务功能的Android \快速任务\平台\机器人的\ src \组织\阿帕奇\科尔多瓦\文件传输\ FileTransfer.java   使用未经检查或不安全的操作。注意:重新编译   -Xlint:取消选中以获取详细信息。 3个错误

     

失败:构建因异常而失败。

     
      
  • 出了什么问题:任务'执行失败':compileDebugJavaWithJavac'。

         
        

    编译失败;有关详细信息,请参阅编译器错误输出。

      
  •   
  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。

  •   

2 个答案:

答案 0 :(得分:1)

我也遇到了此问题,这是由于cordova-android的低版本引起的。如果您在离子Cordova平台上添加android,请注意,Cordova-android版本大于或等于6.3.0时需要cordova-plugin-file。

所以只需运行命令:

0.5-2

这将在运行离子构建后成功打包。

答案 1 :(得分:0)

这是因为一些Android支持版本。如果你在某个android studio IDE中检查你的android项目,你可以看到android支持的版本,它与该File插件使用的版本不兼容。

您可以使用cordova-android-support-gradle-release插件,它可以帮助您在构建期间设置正确的版本。你可以谷歌了解如何使用它。