V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
akann
V2EX  ›  Android

不需root,修改Android hosts的办法。

  •  
  •   akann · 2012-02-21 01:55:31 +08:00 · 53162 次点击
    这是一个创建于 4440 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为不想root丧失质保,因此
    adb shell mount -o remount /system /system
    adb push hosts /etc/hosts(前一个hosts为你修改后的hosts文件)
    另外如果你想替换系统文件都能用这个方法。
    18 条回复    2017-07-23 17:02:05 +08:00
    wangxuezhong
        1
    wangxuezhong  
       2012-02-21 06:59:52 +08:00
    说详细点吧,楼主
    toothpaste
        2
    toothpaste  
       2012-02-21 08:18:54 +08:00 via Android
    确定这些操作不需要root吗?
    我替换文件也是用这个办法,我以为root了之后才能这样子操作。
    madeye
        3
    madeye  
       2012-02-21 08:57:24 +08:00
    这种操作需要 adb 获得 root 权限。而官方ROM当然不会允许这种操作,否则的话任意一种病毒都可以很容易的执行越权操作(/system/ 目录下的所有可执行文件都有能力获得ROOT权限)
    est
        4
    est  
       2012-02-21 09:47:23 +08:00
    不如直接修改dns到127.0.0.1
    Platinum
        5
    Platinum  
       2012-02-21 09:58:04 +08:00
    如果是固定的屋子,可以用刷了 dd-wrt / openwrt 的路由设置 Additional DNSMasq Options,自定义 DNS

    揣着 3G 满世界跑的就没辙了
    akann
        6
    akann  
    OP
       2012-02-21 15:25:38 +08:00
    @madeye 嗯,我的android板adb有root权限,很可能很多android板有root权限。
    @Platinum 自定义dns可以通过 设置-无线和网络-WLAN设置 按menu键-高级-使用静态IP 然后填选你的ip地址和dns实现。
    Platinum
        7
    Platinum  
       2012-02-21 16:17:09 +08:00
    @akann 哦,没用过智能手机,只是给出一个 wifi 上网的通解方法
    akann
        8
    akann  
    OP
       2012-02-21 16:42:07 +08:00   ❤️ 1
    @madeye 可能只要能安装Google自己提供的USB驱动(https://dl-ssl.google.com/android/repository/usb_driver_r03-windows.zip )的都能获得adb的root权限,但问题是各个公司都提供了自己的usb驱动,而且不能使用google的usb驱动,可能这就是官方ROM的原因造成的。
    sobigfish
        9
    sobigfish  
       2012-02-21 16:59:58 +08:00
    没有root mount不到system
    madeye
        10
    madeye  
       2012-02-21 17:28:19 +08:00
    @akann 不是这个原因,就像上面所说。没有ROOT权限,是无法mount system分区的。
    akann
        11
    akann  
    OP
       2012-02-21 19:13:18 +08:00
    @madeye 但我的Android板没有root,像装chainfire3d或者修改全局代理的应用都不能用,但是adb是有root权限但不能写system分区的。
    madeye
        12
    madeye  
       2012-02-21 19:26:06 +08:00
    @akann 开发板可能出于方便开发的关系,默认启用了 adb root (这是 build.prop 中的一个选项)。但是一般的 Android 设备是不会这样做的,而且也不该这么做。
    whtsky
        13
    whtsky  
       2012-02-21 19:30:49 +08:00 via Android
    打开调试模式之后adb有root权限.
    jo32
        14
    jo32  
       2012-02-21 19:32:04 +08:00
    其实 root 完还可以 unroot 的啊,谁知道你有没有 root 过。
    akann
        15
    akann  
    OP
       2012-02-21 20:06:38 +08:00
    @jo32 听说root后,system会有记录,就算unroot后都会检测到。
    akann
        16
    akann  
    OP
       2012-02-21 20:44:59 +08:00
    @akann 听说要获得root 必须unlock bootloader,你可以unroot ,但因为无法relock bootloader,因此unroot后还是得失去质保。
    jo32
        17
    jo32  
       2012-02-21 20:53:30 +08:00
    @akann 刚才看了看,su 在 log 里面有记录,用:

    adb logcat -c

    就可以删除所有 log 了。
    vaguely
        18
    vaguely  
       2017-07-23 17:02:05 +08:00
    C:\adb>adb shell mount -o remount /system /system
    * daemon not running. starting it now at tcp:5037 *
    * daemon started successfully *
    error: no devices/emulators found
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5405 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 03:40 · PVG 11:40 · LAX 20:40 · JFK 23:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.