Android获取与设置系统环境变量的方法指南

 更新时间:2020年06月14日 15:20:58   作者:进阶的凯子  
这篇文章主要给大家介绍了关于Android获取与设置系统环境变量的方法指南,文中通过示例代码介绍的非常详细,对各位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 environment
on 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 shell
msm8953_64:/ # export
ANDROID_ASSETS
ANDROID_BOOTLOGO
ANDROID_DATA
ANDROID_ROOT
ANDROID_SOCKET_adbd
ANDROID_STORAGE
ASEC_MOUNTPOINT
BOOTCLASSPATH
DOWNLOAD_CACHE
EXTERNAL_STORAGE
HOME
HOSTNAME
LOGNAME
PATH
SHELL
SYSTEMSERVERCLASSPATH
TERM
TMPDIR
USER
msm8953_64:/ # echo $ANDROID_BOOTLOGO
1
msm8953_64:/ # echo $ANDROID_DATA
/data
msm8953_64:/ #

2.2 设置系统环境变量

  这里还是得借用export和echo命令了,操作如下:

130|msm8953_64:/ # export HELLOWORD=Android
msm8953_64:/ # echo $HELLOWORD
Android
msm8953_64:/ #

小结

  好了,Android获取和设置系统环境变量这一篇章就告一段落了。学会了这一招我们就可以在分析Android源码中通过adb命令直接查看系统环境变量的相关值了,这样分析起来就得心应手了。各位江湖见!

总结

到此这篇关于Android获取与设置系统环境变量的文章就介绍到这了,更多相关Android获取与设置系统环境变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Jetpack之CameraX的使用

    Jetpack之CameraX的使用

    CameraX 是Jetpack的一个成员,可以更轻松地开发相机应用,支持搭载Android 5.0及以上设备,具有广泛的设备兼容性,也可确保各设备间的一致性,如宽高比、屏幕方向、旋转角度、预览大小和图像大小等
    2022-11-11
  • Android线程实现图片轮播

    Android线程实现图片轮播

    这篇文章主要介绍了Android线程实现图片轮播,初始化3秒更换一次图片背景,轮换播放,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Android EditText搜索框实现图标居中

    Android EditText搜索框实现图标居中

    本篇文章主要介绍了Android EditText搜索框实现图标居中,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 全面解析Android之ANR日志

    全面解析Android之ANR日志

    不论从事安卓应用开发,还是安卓系统研发,应该都遇到应用无响应(简称ANR)问题,当应用程序一段时间无法及时响应,则会弹出ANR对话框,让用户选择继续等待,还是强制关闭。本文将带你全面解析Android之ANR日志
    2021-06-06
  • Android系统中使用shareuserid获取系统权限的教程

    Android系统中使用shareuserid获取系统权限的教程

    这篇文章主要介绍了Android系统中使用shareuserid获取系统权限的教程,这样以来不同的apk就可以互相访问对应的app文件夹,需要的朋友可以参考下
    2016-04-04
  • Android实现可拖拽的GridView效果长按可拖拽删除数据源

    Android实现可拖拽的GridView效果长按可拖拽删除数据源

    这篇文章主要介绍了Android实现可拖拽的GridView效果长按可拖拽删除数据源,要实现的基本功能是长按,移到垃圾桶,删除数据,需要的朋友可以参考下
    2017-12-12
  • Android 状态栏的设置适配问题详解

    Android 状态栏的设置适配问题详解

    这篇文章主要介绍了Android 状态栏的设置适配问题详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • Android 自定义球型水波纹带圆弧进度效果(实例代码)

    Android 自定义球型水波纹带圆弧进度效果(实例代码)

    最近小编接到一个这样的需求,需要实现一个圆形水波纹,带进度,两层水波纹需要渐变显示,且外围有一个圆弧进度。今天小编给大家分享实例代码,感兴趣的朋友一起看看吧
    2019-12-12
  • Android开发中那些需要注意的坑

    Android开发中那些需要注意的坑

    这篇文章主要介绍了Android开发过程中那些需要注意的坑,有一些是自己遇到的,特分享给大家,需要的朋友可以参考下
    2016-04-04
  • Flutter DateTime获取本月的开始时间与结束时间方法

    Flutter DateTime获取本月的开始时间与结束时间方法

    这篇文章主要为大家介绍了Flutter DateTime获取本月的开始时间与结束时间方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2023-05-05

最新评论