SDK
emulator
${ANDROID_SDK_HOME}/emulator
这个qemu是avd模拟器简化的**${ANDROID_SDK_HOME}/emulator/qemu/darwin-x86_64//qemu-system-x86_64** 不使用
1 | emulator -list-avds |
avd
在$HOME/.android/avd
adb
${ANDROID_SDK_HOME}/platform-tools/adb
1 | $adb start-server //启动adb |
fastboot
1 | fastboot oem unlock |
other
mount
1 | mount -o rw,remount -t auto /system |
Jeb条件
1 | android:debuggable="true" |
install MagiskHide Props Config and then:
1 | adb shell //adb进入命令行模式 |
Android手机系统的 ro.debuggable 这一配置位于 /default.prop 文件中,而 /default.prop 又来源于手机每次启动时 boot.img 中 ramdisk 的挂载,所以想要直接通过修改 /default.prop 是不可行的,但是系统文件是只读的,改了也没用。网上流传较广的是改 boot.img
qemu
https://www.cnblogs.com/yinzhengjie/p/7846595.html
1 | brew install qemu |
1.创建磁盘映像
1 | $qemu-img create -f qcow2 ~/qemu/images/ubuntu-desktop-18.04.qcow2 10G |
2.启动附加了Ubuntu ISO的QEMU
1 | # -accel hvf |
1 | I386平台专用选项; |
3启动系统
1 | 删掉cdrom |
qemu配置网卡方法:
不使用sdk的qemu(命令不适用)
Brew install qemu
如需要使用
1 | $export PATH=$ANDROID_SDK_HOME/emulator/qemu/darwin-x86_64:$PATH |
我之前进行过相关的测试,qemu这一块的网络连接的相关方法分享一下,配置起来稍微麻烦一点,需要创建虚拟网卡;
如果在本地测试可以通端口映射的方式进行;方法如下:
方法一:创建虚拟网卡
(注意本地机器上创建的虚拟网卡和qemu上的配置的地址网段的关系)
一、需要安装的工具软件:
1 | $apt-get install bridge-utils # 虚拟网桥工具 |
二、配置虚拟网卡的命令:
1 | $sudo ifconfig tap0 down |
三、qemu启动时需要添加相关参数,启动命令如下:
1 |
|
方法二、在启动qemu的时候直接进行端口映射:
1 | $sudo qemu-system-x86_64 -enable-kvm -m 1024 -smp 2 -hda ./vdisk.img -cdrom $android_x86_64.iso -redir tcp:5555::5555 |
libvirt
1 | brew install qemu |
1 | #只是创建 |
1 | <domain type='qemu' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> |
Ctrl+Alt+Del
按钮重新启动计算机,然后快速按Esc
进入启动菜单。
c m d | Mean |
---|---|
virsh list | 列表 |
virsh start ubuntu | 启动虚拟机 |
virsh suspend x | 暂停虚拟机 |
virsh resume x | 启动暂停的虚拟机 |
virsh shutdown x | 正常关闭虚拟机 |
virsh destroy x | 强制关闭虚拟机 |
virsh dominfo x | 显示虚拟机的基本信息 |
virsh vncdisplay controller | 查看该虚拟机的端口地址 |
virsh domname 2 | 显示id号为2的虚拟机名 |
virsh domid x | 显示虚拟机id号 |
virsh domuuid x | 显示虚拟机的uuid |
virsh domstate x | 显示虚拟机的当前状态 |
virsh dumpxml x | 显示虚拟机的当前配置文件 |
virsh setmem x 512000 | 给不活动虚拟机设置内存大小 |
virsh edit x | 编辑配置文件(一般是在刚定义完虚拟机之后 |
(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)