-def android_env_attach_options():
- env = [k + "=" + v for k, v in ANDROID_ENV.items()]
+def android_env_attach_options(args):
+ local_env = ANDROID_ENV.copy()
+ # Include CLASSPATH env that was generated by Android
+ command = ["lxc-attach", "-P", tools.config.defaults["lxc"],
+ "-n", "waydroid", "--clear-env", "--",
+ "/system/bin/cat" ,"/data/system/environ/classpath"]
+ allowed = ["CLASSPATH", "SYSTEMSERVER"]
+ try:
+ p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
+ out, _ = p.communicate()
+ if p.returncode == 0:
+ for line in out.decode().splitlines():
+ _, k, v = line.split(' ', 2)
+ if any(pattern in k for pattern in allowed):
+ local_env[k] = v
+ except:
+ pass
+ env = [k + "=" + v for k, v in local_env.items()]