1. 程式人生 > 程式設計 >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獲取與設定系統環境變數內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!