降低minSdk至23后,如何列出所有“调用需API级别24”的问题?
解决minSdk降至23后的API兼容性问题排查方案
快速定位高版本API调用的方法
- 用
Run Inspection by Name(快捷键:Windows/Linux为Ctrl+Alt+Shift+I,Mac为Cmd+Option+Shift+I),搜索NewApi检查项,选择目标模块或整个项目执行,可快速列出所有调用高于当前minSdk版本的API。 - 终端执行Lint命令:在项目根目录运行
./gradlew lintDebug(Windows用gradlew lintDebug),完成后查看app/build/reports/lint-results-debug.html报告,里面会详细列出所有API兼容性问题,比AS图形化检查高效。 - 开启实时代码提示:打开
File > Settings > Editor > Inspections,找到Android Lint > Correctness > NewApi并勾选,设置严重级别为Error或Warning,代码中调用高版本API的位置会实时高亮提示。
针对android.text.Html#fromHtml的兼容示例
API 24+新增带参数的fromHtml方法,API 23及以下只能用无参重载,可通过版本判断兼容:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { textView.setText(Html.fromHtml(htmlContent, Html.FROM_HTML_MODE_COMPACT)); } else { textView.setText(Html.fromHtml(htmlContent)); }
内容的提问来源于stack exchange,提问作者snachmsm
相关产品推荐
相关产品推荐

