System.getenv() Method - System Environment Variables

This section provides tutorial example on how to display system environment variables using the java.lang.System.getenv() method.

With the ScrollView working, I can display more information about the system now with java.lang.System.getenv() method:

1. Enhance my application to display environment variables editing .\src\com\herongyang\AboutAndroid.java

/* AboutAndroid.java
 * Version 4.0 - Adding environment variables
 * Copyright (c) 2015, HerongYang.com, All Rights Reserved.
 */
package com.herongyang;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.ScrollView;
public class AboutAndroid extends Activity {
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      String msg = "";

      msg += "System properties\n";
      msg += "-------------\n";
      java.util.Properties props = System.getProperties();
      java.util.Enumeration e = props.propertyNames();
      while (e.hasMoreElements()) {
         String k = (String) e.nextElement();
         String v = props.getProperty(k);
         msg += k+": "+v+"\n";
      }

      msg += "\n";
      msg += "Environment variables\n";
      msg += "-------------\n";
      java.util.Map envs = System.getenv();
      java.util.Set keys = envs.keySet();
      java.util.Iterator i = keys.iterator();
      while (i.hasNext()) {
         String k = (String) i.next();
         String v = (String) envs.get(k);
         msg += k+": "+v+"\n";
      }

      TextView tv = new TextView(this);
      tv.setText(msg);
      ScrollView sv = new ScrollView(this);
      sv.addView(tv);
      setContentView(sv);
   }
}

2. Uninstall the previous version, build, install and run this new version. Environment variables are displayed after system properties.

Some interesting environment variables on my Android emulator are:

ANDROID_ASSETS: /system/app
ANDROID_DATA: /data
ANDROID_ROOT: /system
ASEC_MOUNTPOINT: /mnt/asec
BOOTCLASSPATH: /system/framework/core.jar:/system/framework/core-...
EXTERNAL_STORAGE: /storage/sdcard
LOOP_MOUNTPOINT: /mnt/obb
PATH: /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin

Below was some system properties I got from my Android 4.0.3 emulator created with Android SDK R17:

ANDROID_ASSETS: /system/app
ANDROID_DATA: /data
ANDROID_ROOT: /system
ASEC_MOUNTPOINT: /mnt/asec
BOOTCLASSPATH: /system/framework/core.jar:/system/framework/core-...
EXTERNAL_STORAGE: /mnt/sdcard
LD_LIBRARY_PATH: /vendor/lib:/system/lib
LOOP_MOUNTPOINT: /mnt/obb
PATH: /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin

Table of Contents

 About This Book

 Installing JDK 1.8 on Windows System

 Installation of Android SDK R24 and Emulator

 Installing Apache Ant 1.9 on Windows System

 Developing First Android Application - HelloAndroid

 Android Application Package (APK) Files

 Android Debug Bridge (adb) Tool

 Android File Systems

AboutAndroid - Application to Retrieve System Information

 java.lang.System Class - Accessing System Information

 Creating Android Project for Simple Application

 Build, Install and Run Android Application

 System.getProperties() - Retrieving System Properties

 android.widget.ScrollView Class - Scrolling Text View

System.getenv() Method - System Environment Variables

 android.os.Environment Class - Environment Folders

 android.content.Context - Application Context Information

 android.app.Activity Class and Activity Lifecycle

 View Objects and Layout Resource Files

 Using "adb logcat" Command for Debugging

 Build Process and Package File Content

 Building Your Own Web Browser

 Android Command Line Shell

 Samsung Galaxy Tab 3 Mini Tablet

 USB Debugging Applications on Samsung Tablet

 Android Tablet - LG-V905R

 USB Debugging Applications on LG-V905R Tablet

 Android Phone - LG-P925g

 USB Debugging Applications on LG-P925g Phone

 Archived Tutorials

 References

 Full Version in PDF/EPUB