如何在 ubuntu 14.04 中保持 android 模拟器始终在顶部 我正在使用 Android Studio 2.1.1 和模拟器版本 25.1.6 在将 Android SDK 工具更新到 25.1.6 之前它一直在工作。
我有同样的问题。我解决了如下:
首先要注意模拟器有两个不同的窗口,它们相互连接。
就是这样!
注意:每次最小化模拟器窗口时,再次执行上述步骤。
在活跃的寡妇模拟器上,按alt + space,选择always on top.
终端中的快速方式(切换 always_on_top):
wmctrl -i -r $(wmctrl -l | grep ' Android Emulator - ' | sed -e 's/\s.*$//g') -b toggle,above
wmctrl -i -r $(wmctrl -l | grep ' Emulator$' | sed -e 's/\s.*$//g') -b toggle,above
单击模拟器侧栏上的更多选项按钮。进入设置。激活选项“显示设备周围的窗口框架”。然后右键单击模拟器的窗口框架。点击“总在最前面”选项。就是这样。
我知道这个问题是针对 Ubuntu 的,但是任何想要其他解决方案的人,就像我在 Debian 上一样,您可以试试这个:
Andrey Izman 的回答 很好,但是当模拟器最小化时,“永远在最前面”的功能就消失了……
根据他的代码,我编写了一个 shell 脚本,每当模拟器最大化时激活“始终在最前面”,并在它最小化时停用该功能。
这是脚本的代码:
#!/bin/bash
# get the window ID of the target window
WINDOW_ID=$(wmctrl -l | grep "Android Emulator - Pixel_4_API_33:5554" | awk '{print $1}')
# define the code to execute when the window is maximized
function on_maximize() {
wmctrl -i -r $(wmctrl -l | grep ' Android Emulator - ' | sed -e 's/\s.*$//g') -b add,above
wmctrl -i -r $(wmctrl -l | grep ' Emulator$' | sed -e 's/\s.*$//g') -b add,above
}
# define the code to execute when the window is minimized
function on_minimize() {
wmctrl -i -r $(wmctrl -l | grep ' Android Emulator - ' | sed -e 's/\s.*$//g') -b remove,above
wmctrl -i -r $(wmctrl -l | grep ' Emulator$' | sed -e 's/\s.*$//g') -b remove,above
}
# set initial window state to "unknown"
WINDOW_STATE="unknown"
# loop forever and check for window events
while true; do
# wait for the window to be maximized or minimized
geometry_output=$(xdotool getwindowgeometry $WINDOW_ID 2>&1)
# check if the window was maximized or minimized
if [[ "$(xprop -id $WINDOW_ID _NET_WM_STATE | grep '_NET_WM_STATE_HIDDEN')" != "" ]]; then
if [[ "$WINDOW_STATE" != "minimized" ]]; then
WINDOW_STATE="minimized"
on_minimize
fi
else
if [[ "$WINDOW_STATE" != "maximized" ]]; then
WINDOW_STATE="maximized"
on_maximize
fi
fi
# discard the output of the xdotool command
echo "$geometry_output" > /dev/null
done
现在请按照以下步骤操作:
将脚本保存为.sh文件在任意位置,例如
~/scripts/emulator_always_on_top.sh
.
使用
~/scripts/emulator_always_on_top.sh &
在终端中执行它。 &
对于将其作为守护进程(后台进程)运行很重要。
瞧!
要关闭它,您需要手动终止进程。在系统监视器中查找
emulator_always_on_top.sh
进程并杀死它。也许有一天我会调整一个更简单的方法......
欢迎接受旨在改进此方法的意见!
P.S.:感谢 GPT 帮助我编写这段代码!虽然经过多次迭代才获得成功。