Android 查找比minSdk 21更高的api 23调用
您好,关于这个话题有一些答案,但到目前为止没有一个对我有效。 我的身材,格雷德尔看起来像这样Android 查找比minSdk 21更高的api 23调用,android,android-fragments,android-studio,Android,Android Fragments,Android Studio,您好,关于这个话题有一些答案,但到目前为止没有一个对我有效。 我的身材,格雷德尔看起来像这样 compileSdkVersion 23 buildToolsVersion "23.0.3" minSdkVersion 21 targetSdkVersion 23 在我的片段中的某个地方,我调用了方法getContext(),结果导致应用程序在棒棒糖5.0设备上崩溃。它在棉花糖6.0上运行良好 片段是从非支持库包导入的 import android.app.Fragment; 由于我在
compileSdkVersion 23
buildToolsVersion "23.0.3"
minSdkVersion 21
targetSdkVersion 23
在我的片段中的某个地方,我调用了方法getContext()
,结果导致应用程序在棒棒糖5.0设备上崩溃。它在棉花糖6.0上运行良好
片段
是从非支持库包导入的
import android.app.Fragment;
由于我在23日编译了esdk,我可以使用片段调用方法getContext()。
这将导致棒棒糖5.0和5.1崩溃,因为该方法是用API 23而不是API 21,22添加的
我的问题是,当min SDK低于Android Studio时,我如何在Android Studio中找到如此高级别的调用
我怎么能在Android Studio中找到这样高级别的调用
SDK低于此值
AFAIK Android studio通常会在开发人员使用任何在应用程序定义的版本之前不完全向后兼容的方法时向他们发出警告。所以,此时,您可以检查设备的当前版本,并相应地调用相关的其他方法
但是,由于某些原因,它在调用getContext()
方法时不会显示任何lint警告。所以,看来我们现在必须处理它
我怎么能在Android Studio中找到这样高级别的调用
SDK低于此值
AFAIK Android studio通常会在开发人员使用任何在应用程序定义的版本之前不完全向后兼容的方法时向他们发出警告。所以,此时,您可以检查设备的当前版本,并相应地调用相关的其他方法
但是,由于某些原因,它在调用getContext()
方法时不会显示任何lint警告。因此,我们现在似乎必须处理它。转到
->分析->检查代码->运行代码检查
然后在结果视图中有
"Project Name"
- Android > Lint > Correctness
- calling new methods in older versions
在(调用旧版本中的新方法)下,应列出所有不可用的调用转到
->分析->检查代码->运行代码检查
然后在结果视图中有
"Project Name"
- Android > Lint > Correctness
- calling new methods in older versions
在(在旧版本中调用新方法)下,应列出所有不可用的调用可能getContext()
只是一个示例,但是getActivity()
是API的合适替代品<23可能getContext()
只是一个示例,但是getActivity()
是API的合适替代品<23有可能对不兼容的调用运行显式检查。查看我的答案。有可能对不兼容的呼叫运行显式检查。看看我的答案。