gpt4 book ai didi

java - System.getProperty(param) 返回错误值 - Android

转载 作者:太空狗 更新时间:2023-10-29 15:31:01 26 4
gpt4 key购买 nike

我做的步骤:

我在代码中做

System.setProperty("myproperty", 1);

然后我在 shell 脚本中将属性“myProperty”设置为 3。像这样:

# setprop "myproperty" 3

然后在代码中我尝试像这样读取属性:

System.getProperty("myproperty");

我得到的值为 1。这意味着来自 shell 的设置实际上没有工作。但是当我用

从 shell 打印所有 Prop 时
# getprop

我在列表中看到 myproperty 等于 3。

简而言之:我想通过脚本更改属性的值,我看到这个脚本实际上更改了属性,但在 java 代码中我得到了旧值。

有什么想法吗?

最佳答案

Android 中的 Java 代码在 java 库中提供了 System.getProperty 和 System.setProperty 函数,但需要注意的是,尽管这些 java API 在语义上等同于 native 版本,但 java 版本将数据存储在完全不同的位置。实际上,dalvik VM 使用哈希表来存储属性。因此,java 属性是分离的,它不能获取或设置 native 属性,反之亦然。

您可以使用 android.os.SystemProperties 类来操作原生属性,尽管它仅供内部使用。它通过 jni 调用 native 属性库以获取/设置属性。

关于java - System.getProperty(param) 返回错误值 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16944494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com