现在我已经使用经典export
命令设置了一个环境变量,并尝试使用System.getenv()
函数从我的测试中读取此变量,但它似乎不起作用。
有人可以举例说明如何在Android应用程序中设置和读取系统变量吗?
答案 0 :(得分:3)
env变量仅在设置env变量值的过程的后代(或相同)中可见。 (见http://en.wikipedia.org/wiki/Environment_variable#Synopsis)
如果您想要读取值的过程不是您设置它的过程的后代,这可能是您明显无法看到您设置的值的一个因素。
因此,您需要检查应用程序的流程层次结构,以确定应该在何处设置值。
答案 1 :(得分:2)
要获取和设置属性,您可以执行以下操作:
System.getProperty('property_name');
System.setProperty('property_name', 'value');
System.getenv()应该用于返回所有可用环境变量的映射。
如果仍然无效,可以发布一些代码吗?
答案 2 :(得分:2)
如果您熟悉使用NDK,只需在包含该行的NDK空间中创建本机函数,或将其添加到现有函数中。
setenv("ENVIROMENT_VARIABLE", "value", 1);
然后,您可以使用java API System.getenv()来读取它。
虽然这很麻烦,但有必要使用gcov(包含在android ndk中)等在线代码分析工具进行代码覆盖。
答案 3 :(得分:0)
我最初的目的是在我的Android应用程序中读取外部参数。所以我最后使用XML文件作为配置文件。这仍然不是我的问题的答案,但有人可能会发现它有用。了解如何加载XML配置文件here