当minSdkVersion<时,Android lint没有显示错误targetSdkVersion,如果targetSdkVersion = 23(Marshmallow)

时间:2015-08-31 06:22:40

标签: android lint android-6.0-marshmallow

正如问题所述,我正在使用SDK 23进行编译,针对SDK 23,并使用最小的SDK版本19.在使用API​​级别20/21/22 /的任何组件时,Android Studio / Eclipse应显示lint错误23,但它不适用于API级别23。

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig {
        applicationId "com.example.test"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

}

public class MyActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Incorrect cast for a system service, correctly caught by lint
        WifiManager wifiManager = (WifiManager) getSystemService(Context.ALARM_SERVICE);

        Fragment fragment = new Fragment();
        fragment.isDetached(); //API level 13 (correct, no warning)
        fragment.setMenuVisibility(true); //API level 14 (correct, no warning)

        finishAndRemoveTask(); //API level 21 (correct, warning)
        getMediaController(); //API level 21 (correct, warning)

        getReferrer(); //API level 22 (correct, warning)

        getSearchEvent(); //API level 23 (INCORRECT: no warning)
        showLockTaskEscapeMessage(); //API level 23 (INCORRECT: no warning)
    }
}

我使用http://developer.android.com/sdk/api_diff/23/changes.html选择了一些方法进行测试。

我没有立即在谷歌或http://developer.android.com/tools/help/lint.htmlhttp://tools.android.com/tips/lint-checks上看到有关此信息。

1 个答案:

答案 0 :(得分:0)

没关系,我在AOSP Issue Tracker发现了一个未解决的问题,看起来像平台-23 / android.jar没有被包含在apigenerator脚本中。谷歌正在努力修复。