我的ionic info
环境:
cli 软件包: (C:\Users\jessica\AppData\Roamingpmode_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)Androidandroid-sdk
杂项:
backend : legacy`
安装ionic cordova plugin add cordova-plugin-file-transfer
后,当我运行命令时出现以下错误ionic cordova build android
:compileDebugJavaWithJavac - 不是增量的(例如输出有 已更改,没有先前的执行等(。 F:\D\IONIC\quicktask\quicktask-android\quicktask\platforms\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\platforms\android\src\org\apache\cordova\filetransfer\FileTransfer.java:851: 错误:找不到符号
FileUtils filePlugin = (FileUtils) pm.getPlugin("File"); ^ symbol: class FileUtils F:DIONICquicktaskquicktask-androidquicktaskplatformsandroidsrcorgapachecordovafiletransferFileTransfer.java:851:
错误:找不到符号 FileUtils filePlugin = (FileUtils( pm.getPlugin("File"(; ^ symbol: class FileUtils 注意:某些输入文件使用或覆盖已弃用的 API。
注意:使用 -Xlint:deprecation 重新编译以了解详细信息。注意: F:\D\IONIC\quicktask\quicktask-android\quicktask\platforms\android\src\org\apache\cordova\filetransfer\FileTransfer.java 使用未经检查或不安全的操作。注意:重新编译 -Xlint:未选中详细信息。3 错误:编译调试JavaWithJavac 失败
失败:生成失败,出现异常。
出了什么问题:任务":compileDebugJavaWithJavac"的执行失败。
编译失败;有关详细信息,请参阅编译器错误输出。
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获取更多日志输出。构建失败
总时间:48.087秒
(节点:6372( 未处理的承诺拒绝警告:未处理的承诺 拒绝(拒绝 ID:1(:错误:cmd:命令失败,退出代码 1 错误输出:注意:某些输入文件使用或覆盖已弃用的 应用程序接口。注意:使用 -Xlint:deprecation 重新编译以了解详细信息。注:部分 输入文件使用或覆盖已弃用的 API。注意:重新编译 -Xlint:弃用详细信息。F:\D\IONIC\quicktask\quicktask-android\quicktask\platforms\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\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"(; ^ symbol: class FileUtils 注意:某些输入文件使用或覆盖已弃用的 API。 注意:使用 -Xlint:deprecation 重新编译以了解详细信息。注意: F:\D\IONIC\quicktask\quicktask-android\quicktask\platforms\android\src\org\apache\cordova\filetransfer\FileTransfer.java 使用未经检查或不安全的操作。注意:重新编译 -Xlint:未选中详细信息。3 错误
失败:生成失败,出现异常。
出了什么问题:任务":compileDebugJavaWithJavac"的执行失败。
编译失败;有关详细信息,请参阅编译器错误输出。
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获取更多日志输出。
我也遇到了这个问题,这是由低版本的cordova-android引起的。如果您在 ionic cordova 平台添加 android,注意到 cordova-plugin-file 是大于或等于 6.3.0 的 cordova-android 版本所必需的。
因此,只需运行以下命令:
ionic cordova platform remove android
ionic cordova platform add android@6.3.0
这将在运行离子构建后成功打包。
这是因为一些安卓支持版本。如果您在某个 android studio IDE 中检查您的 android 项目,您可以看到 android 支持的版本,该版本与该文件插件使用的版本不兼容。
您可以使用cordova-android-support-gradle-release
插件,它可以帮助您在构建过程中设置正确的版本。你可以谷歌一下如何使用它。