我在Android应用中使用productFlavors
并buildConfigField
启用/禁用功能:
productFlavors {
vanilla {
buildConfigField "boolean", "FEATURE_SAR", "false"
}
edge {
applicationIdSuffix ".edge"
buildConfigField "boolean", "FEATURE_SAR", "true"
}
}
还没有找到一种方法来禁用Android Studio代码样式警告说"'!BuildConfig.FEATURE_SAR'可以简化为'false'".
正如你在我的代码中看到的那样,我尝试了很多方法,但没有一个方法可行.我无法在Android Studio中找到可以禁用此功能的设置.
@Override
@SuppressWarnings("SimplifiableIfStatement") // no effect
@SuppressLint("SimplifiableIfStatement") // no effect
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Set suppressPositions = new HashSet<>();
//noinspection SimplifiableIfStatement <-- no effect
if (!BuildConfig.FEATURE_SAR) {
suppressPositions.add(IDX_SAR);
}
SimpleAdapter adapter = ViewUtils.createSimpleAdapter(
getContext(), MENU_RESOURCES, suppressPositions);
setListAdapter(adapter);
}
当然,有一些方法可以通过使用资源来解决这个问题,但由于某些原因,我无法在所有情况下使用资源.所以问题只是如何禁用这些警告,而不是如何更好地处理Android/Gradle中的配置管理.
通常,一旦将光标置于警告中,请按ALT + ENTER.然后放大警告的上下文菜单.应该有一个条目"禁用检查"显示为红色X,如下所示: