之前写了一篇关于如何在Android手机中搭建Dnsmasq的文章,使用起来比较繁琐,现在做一个详细的整理。
准备工作
下载dnsmasq.zip备用。
测试系统是否支持init.d
将下面的代码保存为00test
,放置于/system/etc/init.d
目录。
#!/system/bin/sh
#Init.d Test
if [ -e /data/Test.log ]; then
rm /data/Test.log
fi
echo Init.d is working !!! >> /data/Test.log
重启手机,如果能看到/data/Test.log
文件存在,则支持init.d,可直接卡刷dnsmasq.zip
添加init.d
如果不愿意折腾,可以直接使用Kernel Adiutor,打开里面的模拟init.d功能,是一样的,愿意折腾的继续看。
安装Busybox,打开获取su权限后直接install即可,然后可以随意卸载
确认手机中有终端模拟器,没有戳这里: http://coolapk.com/apk/jackpal.androidterm
下载term-init.sh放于sd卡目录备用。(作者有相关的其他方法,见XDA原帖,不过我还是推荐这个方法,在我的5.1.1原生系统下成功)
打开终端,输入
su
cd /sdcard #此步骤对应term-init.sh的路径
sh term-init.sh #按操作提示
完成后重启,再验证data/Test.log是否存在,如仍然不存在,就只能使用Kernel Adiutor软件模拟init.d。
卡刷dnsmasq.zip
将需要使用的dnsmasq.conf
替换掉zip里的默认配置(路径在/data/local
),然后刷入。不用担心替换系统文件,我已经在脚本中备份系统原dnsmasq。如果需要卸载,那么照着zip中的文件路径删掉即可。
用Override DNS设置DNS
将主dns设为127.0.0.1
,副dns空,然后开关wifi即可生效。