gpt4 book ai didi

Android 在 Java 中设置(获取)环境变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:02:53 24 4
gpt4 key购买 nike

我对 Android 操作系统进行了一些试验,我尝试调用 System.getenv() 来获取环境变量。它有效,例如对于 $PATH,但我无法定义自己的变量,可以通过这种方式访问​​它...这可能吗?

我尝试以 shell 用户身份从 adb shell 设置和export 变量,但它不起作用 - 无论我是从手机菜单启动应用程序还是当我使用 adb shell am 命令时。

Runtime.getRuntime().exec() 有帮助吗?如果我拥有手机的 root 权限会有帮助吗?

谢谢

最佳答案

环境变量仅在设置变量的进程中可见,并且在设置变量后启动子进程。当您从 adb shell 设置环境变量时,您不在启动 Android 应用程序的进程的父进程中,因此应用程序看不到您设置的变量。

在 Java(和 Android)中没有 System.setenv(),但是如果您需要为自己的程序设置一个环境变量来读取,总有更好的方法。一种这样的方式是 setting and getting Properties相反。

在 Java 中设置环境变量是不可能的(好吧,它是,但你不想这样做)。您可以使用 ProcessBuilder如果您想设置另一个进程应读取的变量,但前提是该进程是从 Java/Android 程序启动的。

想想您要解决什么问题,以及是否可以在不使用环境变量的情况下完成。它们不太适合 Java,在 Android 上更糟糕。

关于Android 在 Java 中设置(获取)环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7597058/

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