diff --git a/adb/shell_service.cpp b/adb/shell_service.cpp index 3fc70b026..6c066694d 100644 --- a/adb/shell_service.cpp +++ b/adb/shell_service.cpp @@ -289,7 +289,6 @@ bool Subprocess::ForkAndExec() { // TODO: $HOSTNAME? Normally bash automatically sets that, but mksh doesn't. passwd* pw = getpwuid(getuid()); if (pw != nullptr) { - setenv("HOME", pw->pw_dir, 1); setenv("LOGNAME", pw->pw_name, 1); setenv("SHELL", pw->pw_shell, 1); setenv("USER", pw->pw_name, 1); @@ -298,6 +297,8 @@ bool Subprocess::ForkAndExec() { setenv("TERM", terminal_type_.c_str(), 1); } + setenv("HOME", "/data/local/tmp", 1); + chdir(getenv("HOME")); if (is_interactive()) { execl(_PATH_BSHELL, _PATH_BSHELL, "-", nullptr); } else {