Переменные среды видны только в процессе, который устанавливает переменную, а дочерние процессы запускаются после установки переменной.Когда вы устанавливаете переменную среды из оболочки adb, вы не находитесь в родительском процессе процесса, который запускает приложение Android, поэтому приложение не может видеть установленную вами переменную.
В Java (и Android) естьнет System.setenv()
, но если вам нужно установить переменную окружения для чтения вашей собственной программы, всегда найдутся лучшие способы.Одним из таких способов является установка и получение взамен свойств .
Установка переменных среды в Java на самом деле невозможна (ну, это так, но вы не хотите этого делать).Вы можете использовать ProcessBuilder , если хотите установить переменную, которую должен прочитать другой процесс, но это если процесс запущен из программы на Java / Android.
Подумайте, с какой проблемой вы столкнулисьпытаясь решить, и если это можно сделать без использования переменных среды.Они не очень подходят для Java и еще хуже для Android.