看到一句有趣的注释 - 发现 Android 项目中 private 变量也不能轻易修改啊。

2015-10-15 23:58:25 +08:00
 banxi1988
代码在 <https://android.googlesource.com/platform/libcore/+/master/dalvik/src/main/java/dalvik/system/DexPathList.java>

```java
/**
* List of dex/resource (class path) elements.
* Should be called pathElements, but the Facebook app uses reflection
* to modify 'dexElements' ( http://b/7726934).
*/
private final Element[] dexElements;
```
5892 次点击
所在节点    Android
6 条回复
dorentus
2015-10-16 09:41:48 +08:00
这种情况不是应该把责任丢给 Facebook 那一方的么……
banxi1988
2015-10-16 12:39:45 +08:00
@dorentus 对于用户来说是升级了系统之后 Facebook 就出现 FC 。所以。
aprikyblue
2015-10-16 13:53:45 +08:00
呃,原谅我。“ Should be called pathElements ”这句是什么意思、、
xuyinan503
2015-10-16 15:22:56 +08:00
@aprikyblue 这个变量本应叫做“ pathElements ”,但 facebook 非得用 dexElements 来调用它
xuyinan503
2015-10-16 15:25:31 +08:00
客大欺店啊
banxi1988
2015-10-16 16:24:49 +08:00
@xuyinan503
@aprikyblue

我的理解是老版本的 Android 中此变量名为 `dexElements`
但是在某一个新版本 (估计某一个 4.x )。 Android 的开发者这个变量的名字应该叫
`pathElements` 更贴切。
但是改了之后发现引起了 Facebook App 的 FC 。然后又改回来了,并加上了注释。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/228414

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX