Developer Preview 3 今天发布了,我注意到一些与非 SDK 接口相关的变化:
访问以下 API 会在 DP2 和 DP3 上产生不同的日志
Class<?> androidIdClass = Class.forName("com.android.internal.R$id");
Integer search_close_btn = getFieldValue(androidIdClass, null, "search_close_btn");
DP2:
Accessing hidden field Lcom/android/internal/R$id;->search_close_btn:I (blacklist, reflection)
结果:NoSuchFieldException,无法访问该字段
DP3:Accessing hidden field Lcom/android/internal/R$id;->search_close_btn:I (dark greylist, reflection)
结果:该字段可访问
有人可以解释为什么这个字段在 DP3 中可用,深灰名单和黑名单有什么区别?