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中可用以及黑暗灰名单和黑名单之间有什么区别?
答案 0 :(得分:1)
能否请人解释为什么该字段在DP3中可用?
黑名单和黑名单有什么区别?
黑名单是无论您的应用程序要定位到哪个API级别都不会起作用的调用。
暗灰色列表是仅当您的应用程序以API级别28为目标时才起作用的调用,否则它们将正常工作。