VS Code构建应用后出现OpenFile废弃API提示的解决咨询
编译时收到的提示:
Note: C:\Users\XXXXXX\AppData\Local\Pub\Cache\hosted\pub.dev\open_file-3.3.2\android\src\main\java\com\crazecoder\openfile\OpenFilePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
以下是几种解决思路:
先查清楚具体废弃的API
到项目的android目录下,在终端运行gradlew lint(Windows系统)或者./gradlew lint(Mac/Linux),生成详细的lint报告,里面会明确指出哪段代码用了废弃API,以及对应的替代方案。手动修改插件源码(临时修复)
找到提示里的文件路径,打开OpenFilePlugin.java,根据lint报告的提示,把废弃的API换成Android SDK推荐的新方法。比如如果是启动Activity的旧方法,换成Activity Result API;如果是文件操作的旧逻辑,改用ContentResolver相关方法。改完重新编译项目就行。换用替代插件
如果open_file维护一直不更新修复这个问题,可以换用类似功能的插件,比如open_filex,这类插件通常会跟进最新的Android规范,不会有废弃API的问题。临时忽略警告(不推荐)
要是暂时不想折腾,也可以在项目的android/app/build.gradle里加规则隐藏这个警告:android { lintOptions { disable 'DeprecatedApi' } }注意:这只是把警告藏起来,没解决根本问题,后续升级Android版本可能会出兼容性问题。
内容的提问来源于stack exchange,提问作者user_odoo

