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

Android lint not showing errors when minSdkVersion < targetSdkVersion, if targetSdkVersion=23 (Marshmallow)

如问题所述,我正在使用 SDK 23 进行编译,以 SDK 23 为目标,并使用最小 SDK 版本 19。Android Studio/Eclipse 在使用来自API 级别 20/21/22/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选了几个方法来测试。

我没有立即在 google 或 http://developer.android.com/tools/help/lint.html, http://tools.android.com/tips/lint-checks 上看到任何相关信息。

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