Android获取和设置系统环境变量指南
16lz
2021-01-24
Android获取和设置系统环境变量指南
前言
在Android源码的分析过程中经常会看到System.getenv(“xxx”)和getenv(“xxx”)以及Os.getenv(“xxx”)获取Android系统的环境变量值,本篇的重点不是分析代码的调用逻辑,而是讲解怎么在Android开发源码环境下增加和在Android终端环境下增加/查看系统环境变量。废话不多说开干!
一. Android源码环境下增加环境变量
有过Linxu开发相关经验的童靴们应该都知道,对于添加环境变量一般都是通过export,然后通过echo来显示,在Android中同样也是如此。通过全局搜索我们发现Android源码的环境变量设置的默认文件是在system/core/rootdir/init.environ.rc.in中,这里并不是说只能在这个rc中添加,其实在其它的rc中在合适的触发时机加也是OK的,我源码下的该文件如下:
# set up the global environmenton init export ANDROID_BOOTLOGO 1 export ANDROID_ROOT /system export ANDROID_ASSETS /system/app export ANDROID_DATA /data export ANDROID_STORAGE /storage export EXTERNAL_STORAGE /sdcard export ASEC_MOUNTPOINT /mnt/asec export BOOTCLASSPATH %BOOTCLASSPATH% export SYSTEMSERVERCLASSPATH %SYSTEMSERVERCLASSPATH% %EXPORT_GLOBAL_ASAN_OPTIONS% %EXPORT_GLOBAL_GCOV_OPTIONS%
所以我们想添加环境变量只需要export就OK了,这里就不实际操作了,有兴趣的可以自行操作。
二. Android终端下查看和修改环境变量
在Android终端下查看和修改环境变量肯定是通过adb了,下面我们实际操演一番。
2.1 查看系统环境变量
这里还是得借用export和echo命令了,操作如下:
λ adb shellmsm8953_64:/ # exportANDROID_ASSETSANDROID_BOOTLOGOANDROID_DATAANDROID_ROOTANDROID_SOCKET_adbdANDROID_STORAGEASEC_MOUNTPOINTBOOTCLASSPATHDOWNLOAD_CACHEEXTERNAL_STORAGEHOMEHOSTNAMELOGNAMEPATHSHELLSYSTEMSERVERCLASSPATHTERMTMPDIRUSERmsm8953_64:/ # echo $ANDROID_BOOTLOGO1msm8953_64:/ # echo $ANDROID_DATA/datamsm8953_64:/ #
2.2 设置系统环境变量
这里还是得借用export和echo命令了,操作如下:
130|msm8953_64:/ # export HELLOWORD=Androidmsm8953_64:/ # echo $HELLOWORDAndroidmsm8953_64:/ #
小结
好了,Android获取和设置系统环境变量这一篇章就告一段落了。学会了这一招我们就可以在分析Android源码中通过adb命令直接查看系统环境变量的相关值了,这样分析起来就得心应手了。各位江湖见!
更多相关文章
- Android短信拦截机制适配的坑(下)--4.4以上系统,主要是6.0
- Android(安卓)NDK编译Box2D_V2.2
- android开发环境建立以及开发工具的使用--怎样使用eclipse来开发
- ophone的源码及模拟器配置
- Android官方技术文档翻译——新构建系统概述
- 【Android(安卓)界面效果28】Android应用中五种常用的menu
- 国内Android开发技术大牛推介
- [置顶] Android(安卓)屏幕旋转相关解析
- android surfaceflinger研究----显示系统, Surface机制, Surface