你好这个主题有一些答案,但到目前为止没有一个对我有用。 我的build.gradle看起来像这样
compileSdkVersion 23
buildToolsVersion "23.0.3"
minSdkVersion 21
targetSdkVersion 23
在我的片段中的某个地方,我调用了方法getContext()
,并在Lollipop 5.0设备上崩溃了应用程序。它适用于Marshmallow 6.0。
从非支持库包中导入Fragment
。
import android.app.Fragment;
由于我在23上编译了SDK,我可以使用Fragment调用方法getContext()
来获取Context。
这将导致Lollipop 5.0和5.1崩溃,因为该方法是使用API 23而不是API 21,22添加的。
我的问题是,当min SDK低于该值时,如何在Android Studio中找到这样的高级别调用?
答案 0 :(得分:3)
如何在最小的时候在Android Studio中找到这样的高级别电话 SDK低于那个?
AFAIK Android工作室通常会警告开发人员,只要他们使用任何不完全向后兼容的方法,直到应用程序定义的minSDKVersion。因此,在那个时间点,您可以查看当前版本的设备并相应地调用相关的其他方法。
但是,出于某种原因,在调用getContext()
方法时它没有显示任何lint警告。所以,我们现在似乎必须处理它。
答案 1 :(得分:2)
转到
- >分析 - >检查代码 - >运行代码检查
然后在结果视图中有
"Project Name"
- Android > Lint > Correctness
- calling new methods in older versions
在(调用旧版本中的新方法)下,应列出所有不可用的调用