在Android中使用vi等linux命令
下载超级用户adbd.apk 地址:百度网盘
1:adb install 下载目录/adbd.apk
2:在手机上给adbd的root权限,并在adb里勾上USB
解决安卓里无法使用VI编辑器等等 liunk系统功能的命令
1:下载对应的手机CPU的busybox
在Android中使用vi等linux命令
日常在开发Android应用的时候, 有时候需要到设备中去修改一些配置文件, 比如权限白名单
,sp的的xml
什么的,由于Android本身又没有vim/vi
等直接编辑软件,所以通常的做法是 先用adb pull
命令将文件拉到电脑中,修改过后再使用adb pull
命令推到手机里, 很不方便
Busybox
busybox是一个工具箱, 可以在不同平台上安装, 安装过后就可以使用一些linux下的常用命令了
安装
首先需要查看Android设备的CPU架构, 才能下载对应版本的 busybox程序:
adb shell getprop ro.product.cpu.abi
比如我手上的这台设备就是arm64-v8a
的cpu
下载Busybox
然后到busy的
点击Download Binaries:
或者直接输入网址//busybox.net/downloads/binaries/
进入二进制文件下载页面, 然后在里面找到最新的defconfig-multiarch-musl
版本,比如我目前就是1.31.0-defconfig-multiarch-musl
然后找到跟你设备的cpu型号相匹配的版本, 比如我的cpu是armv8
,那么我就下载busybox-armv8l
这个版本
安装
下载好之后就可以安装busybox了,执行以下命令:
adb root
adb remount
adb push busybox-armv8l /system/xbin/busybox # 将程序复制到设备中
adb shell 'chmod 755 /system/xbin/busybox' # 修改读写权限
adb shell '/system/xbin/busybox --install /system/xbin/' # 安装
完成
接下来就可以在adb shell
中使用 vi
命令了, 另外 find
,grep
.tee
,sed
,wget
等命令也可以使用了
安卓shell
电脑使用adb
-
下载地址:
Windows版本: Mac版本: Linux版本:
-
使用方式:
需开启“Android调试”,在「设置」-「开发者选项」-「Android 调试」,如果找不到“开发者选项”,需要在「设置」-「关于手机」连续点击「版本号」7 次
查看设备:adb devices
无线连接:adb connect 192.168.0.111
无线连接需要开启网络ADB调试
进入shell:adb shell
上传文件到手机:adb push 电脑路径 手机路径
下载文件到电脑:adb pull 手机路径 电脑路径
安装APK:adb install APK路径
手机使用Termux
-
下载地址:
-
使用方式:(略)
配置旁路网关
建议先将手机设置为固定IP,方式很多请自行Google
一键脚本
tun='tun0' #虚拟接口名称
dev='wlan0' #物理接口名称,eth0、wlan0
interval=3 #检测网络状态间隔(秒)
pref=18000 #路由策略优先级
# 开启IP转发功能
sysctl -w net.ipv4.ip_forward=1
# 清除filter表转发链规则
iptables -F FORWARD
# 添加NAT转换,部分第三方VPN需要此设置否则无法上网,若要关闭请注释掉
iptables -t nat -A POSTROUTING -o $tun -j MASQUERADE
# 添加路由策略
ip rule add from all table main pref $pref
ip rule add from all iif $dev table $tun pref $(expr $pref - 1)
contain="from all iif $dev lookup $tun"
while true ;do
if [[ $(ip rule) != *$contain* ]]; then
if [[ $(ip ad|grep 'state UP') != *$dev* ]]; then
echo -e "[$(date "+%H:%M:%S")]dev has been lost."
else
ip rule add from all iif $dev table $tun pref $(expr $pref - 1)
echo -e "[$(date "+%H:%M:%S")]network changed, reset the routing policy."
fi
fi
sleep $interval
done
赋予可执行权限:chmod +x proxy.sh
执行:nohup ./proxy.sh &
更改网关
全局设备更改:修改主路由的DHCP设置
单一设备更改:更改设备的网关
排错
安卓系统每次切换网络设置都会将部分设置重置,一些“永久生效”的配置方式在手机重启后也会被重置
检查IP转发功能是否启用:cat /proc/sys/net/ipv4/ip_forward
检查iptables是否允许数据包通过:iptables -nvL -t (filter|nat|mangle)
检查路由策略:ip rule
检查网卡接口:
安卓rom下载地址:https://onfix.cn/
BUSYBOX下载地址:https://busybox.net/