美文网首页
Android Studio中调用高于minSdkVersion

Android Studio中调用高于minSdkVersion

作者: 元亨利贞o | 来源:发表于2016-10-21 12:48 被阅读1145次

    一. 坑: 调用高于minSdkVersion版本的API时, AS无提示 !
    最近重构项目时用到了HandlerThread类, 代码中调用了此类的quitSafely()方法, 结果导致了下面的错误:

    调用高版本api导致的crash.png

    经过一番折腾, 发现quitSafely()方法是API Level 18添加的, 再看看crash的系统版本, 基本上都是4.3 (4.3对应api level 18)以下的. 毫无疑问这是个版本兼容性问题. 问题找到了, 修复就容易了, 无非是兼容一下低版本 (低于api level 18的系统, 调用quit( )方法).

    ***关键问题是: 调用高版本的api为啥编译器没有提示 ?! ***

    ☞ 一般调用大于minSdkVersion版本添加的API时, 编译器是会有提示的 (方法下面会划红线) !! 如下:

    调用高于minSdkVersion版本的api是IDE (AS) 的提示.png

    二. 解决
    又经过一番折腾, 发现屏蔽了lint提示. 项目根目录下有个lint.xml文件, 内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <lint>
       <issue id="NewApi" severity="ignore" />
    </lint>
    

    没错, 就是它干的好事 !! 删掉它, 重新build一下项目, 就有提示啦 !!

    如果你不想让IDE提示你, 你可以在你的项目根目录下, 添加一个lint.xml, 内容如上. 我想说的是: 千万别这样干 !!.
    如果你真的屏蔽掉了Lint提示, 那就祝你好运 (♥◠‿◠)ノ ...

    相关文章

      网友评论

          本文标题:Android Studio中调用高于minSdkVersion

          本文链接:https://www.haomeiwen.com/subject/pnzquttx.html