是否有更改目录的JVM命令行选项?

Jef*_*rod 1 java android jvm robolectric infinitest

总之,我想知道,是否有一个JVM命令行选项来更改起始工作目录?如果它很重要,我正在运行jdk1.6.0_24.

背景:

我正在使用一个名为Robolectric for Eclipse的工具来测试主机PC上的Android应用程序而不进行仿真.Robolectric需要创建一个测试项目,但测试本身要从正在测试的Android项目中运行.这是通过Eclipse完成的,将运行配置设置为测试中的项目:"在所选项目,包或源文件夹中运行所有测试".

我想如果可能的话,从JVM命令行选项做到这一点,因为其他的工具,我用,Infinitest,不允许你指定测试的工作目录.但是,它允许您指定JVM命令行选项.

解决方法:

在找到更好的解决方法之前,一个成功的方法就是从Android项目中复制AndroidManifest.xml和res文件夹.

a_h*_*ame 7

在Java SE中,"当前目录"被放入系统属性中user.dir.

使用-D选项手动覆盖此值可能有效:

java -Duser.dir=/some/directory ....
Run Code Online (Sandbox Code Playgroud)

但我不知道这是否也适用于Android中使用的JVM

  • 馊主意.我见过的任何关于这样做的事都说"不要".它充其量是不可靠的.当然除非在Android中也发生了变化.但这只是一个测试套件,对吗?不在Android内部运行? (2认同)
  • 不建议修改此变量,并且根据 [此响应] 不可靠(http://stackoverflow.com/questions/1234795/why-is-the-user-dir-system-property-working-in-java/1234880#1234880 )。它对我不起作用。 (2认同)