Android 10 不支持“白名单插件”,当我添加 android 平台时,它会跳过白名单插件,这会在构建或运行应用程序时导致“文件传输插件”问题
ionic cordova platform add android@latest
Installing "cordova-plugin-whitelist" for android
Plugin doesn't support this project's cordova-android version. cordova- android: 10.1.0, failed version requirement: >=4.0.0 <10.0.0
Skipping 'cordova-plugin-whitelist' for android
创建应用程序时,会出现以下错误:ionic cordova build android
Task :app:compileDebugJavaWithJavac D:\workspace\SCL\platforms\android\app\src\main\java\org\apache\cordova\filetransfer\FileTransfer.java:48: error: cannot find symbol import org.apache.cordova.Whitelist; ^ symbol: class Whitelist location: package org.apache.cordova D:\workspace\SCL\platforms\android\app\src\main\java\org\apache\cordova\filetransfer\FileTransfer.java:691: error: cannot find symbol Whitelist whitelist = (Whitelist)gwl.invoke(webView); ^ symbol: class Whitelist location: class org.apache.cordova.filetransfer.FileTransfer D:\workspace\SCL\platforms\android\app\src\main\java\org\apache\cordova\filetransfer\FileTransfer.java:691: error: cannot find symbol Whitelist whitelist = (Whitelist)gwl.invoke(webView); ^ symbol: class Whitelist location: class org.apache.cordova.filetransfer.FileTransfer Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 3 errors
似乎“文件传输”需要“白名单插件”,但添加 android > 10 时会跳过“白名单插件”
这在android 9中不会发生
任何人都可以帮忙吗?
最佳答案
Cordova 10+ 包含 Whitelist 类,不需要外部插件。除了删除它,您还需要更新文件传输插件。
所以,你需要做两件事:
Cordova 插件添加https://github.com/apache/cordova-plugin-file-transfer.git
Cordova 插件rm Cordova 插件白名单
H/T 对本 thread 中的原始回复
关于android 10 不支持白名单插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68896148/