2014-04-02 143 views
7

我正在通过adb shell在我的android设备上查看/ proc目录,并查看其中一个进程的environ文件的内容。环境变量的列表如下:Android linux环境变量

  • PATH
  • LD_LIBRARY_PATH
  • ANDROID_BOOTLOGO
  • ANDROID_ROOT
  • ANDROID_ASSETS
  • ANDROID_DATA
  • ANDROID_STORAGE
  • ASEC_MOUNTPOINT
  • LOOP_MOUNTPOINT
  • BOOTCLASSPATH
  • EXTERNAL_STORAGE
  • EMULATED_STORAGE_SOURCE
  • EMULATED_STORAGE_TARGET
  • ANDROID_PROPERTY_WORKSPACE
  • ANDROID_SOCKET_zygote

这是名单是在Linux中看到的环境变量不同。当我在我的ubuntu-12.04上看到一些进程的环境文件时,我看到一个更长的列表和非常不同的列表(只有PATH相同)。

我有以下问题:

  • 哪里安卓定义的环境变量?

    由于在Android中ENVIRON文件是从不同的Linux,它必须作出了改变的地方

  • 是有没有为这些变量提供默认值的方法吗?

    我假定初始化可能具有默认值和派生的进程继承值&有值的可能修改分叉后的地方(如果有人知道这种代码的实际位置,请分享)

  • 是什么列表中每个环境变量的目的是什么?

    我明白路径& LD_LIBRARY_PATH变量,它们是从linux派生的。其他人呢?他们什么时候使用? Android应用程序(可能是NDK)会用它来做什么?

谢谢。

+1

对不起,但这不足以处理本网站的格式。您看到的变量集是从进程的所有祖先继承的,如果它是一个应用程序进程,则包含init,zygote等。除非您有不安全的设备,否则在启动应用程序之前无法真正对其进行自定义。 –

+0

投票结束太宽泛。请分成多个小问题;-) –

回答

-3

Android使用linux,但它不是GNU/Linux,所以很多事情都不一样。

+1

具体给出答案,而不是发表声明。 – Ila

+0

同样,用可理解的语言评论。 – LtWorf