Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android测试中设置和使用环境变量?_Android - Fatal编程技术网

如何在Android测试中设置和使用环境变量?

如何在Android测试中设置和使用环境变量?,android,Android,目前,我已经使用经典的export命令设置了一个环境变量,并尝试使用System.getenv()函数从测试中读取该变量,但它似乎不起作用 有人能举例说明如何在Android应用程序中设置和读取系统变量吗?要获取和设置属性,可以执行以下操作: System.getProperty('property_name'); System.setProperty('property_name', 'value'); getenv()应该用于返回所有可用环境变量的映射 如果某些代码仍然不起作用,您可以发

目前,我已经使用经典的
export
命令设置了一个环境变量,并尝试使用
System.getenv()
函数从测试中读取该变量,但它似乎不起作用


有人能举例说明如何在Android应用程序中设置和读取系统变量吗?

要获取和设置属性,可以执行以下操作:

System.getProperty('property_name');

System.setProperty('property_name', 'value');
getenv()应该用于返回所有可用环境变量的映射


如果某些代码仍然不起作用,您可以发布它吗?

env变量仅在从设置env变量值的进程派生(或与设置env变量值的进程相同)的进程中可见。(见附件)

如果要读取值的进程不是设置值的进程的后代,这可能是您明显无法看到所设置值的一个因素


因此,您需要检查应用程序的流程层次结构,以确定应在何处设置值。

我最初的目的是读取Android应用程序中的外部参数。所以我最终使用XML文件作为配置文件。这仍然不是我问题的答案,但有人可能会觉得这很有帮助。查看如何加载XML配置文件

如果您熟悉使用NDK,只需在包含该行的NDK空间中创建一个本机函数,或将其添加到现有函数中即可

setenv("ENVIROMENT_VARIABLE", "value", 1);
然后可以使用JavaAPIsSystem.getenv()读取它


虽然这很麻烦,但使用在线代码分析工具gcov(包括android ndk)进行代码覆盖是必要的。

我仍然无法让它工作。这就是我导出系统变量的方式
export A=123
这就是我试图获取值的方式:
tmp=System.getenv(“A”);Log.d(“MyTest”,“A=”+tmp)这是真的。但是我使用了相同的安卓shell来设置环境变量并执行我的安卓应用程序