通过bash

时间:2017-05-25 21:04:42

标签: android bash sed

build.prop文件是一个定义了许多系统选项的文件,可以在Android上以root用户身份进行编辑。它放在/system/build.prop中 我使用android root执行命令库(通过sed)以root用户身份从我的Android应用程序中通过bash编辑它。

该应用程序用于调整设备,因此它修改了一些道具以使设备更好,但在执行sed和echo后,设备将启动循环(在网络重启时)。

sed -i '/$prop/d' /system/build.prop
echo $prop=$value >> /system/build.prop

此代码将生成此输出(在下次重新引导时)https://gist.github.com/AndreaCioccarelli/ad4f90bc4af5a7b24776a87febd4b55b

我不知道,它似乎与SurfaceFlinger和gpu服务有关,但我找不到build.prop和这些服务之间的链接。

在这种情况下,$propnet.ipv4.tcp_congestion_control,而$valuetcp

P.S。在/system/etc/sysctl.conf上使用相同的过程将没有效果。

Nougat 7.0 NEMESIS /三星Galaxy S6 Edge / MagiskSU

2 个答案:

答案 0 :(得分:1)

关于启动等的idk,但应该正确引用你的shell命令:

sed -i "/$prop/d" /system/build.prop
echo "$prop=$value" >> /system/build.prop

现在$prop不会被sed命令扩展,因为它在单引号内,而$prop行中$valueecho都在{{1}}行内容易受到单词拆分,通配,文件名扩展等的影响,因为它们不在任何引号内。

查看纠正是否可以解决您的其他问题。

答案 1 :(得分:0)

问题已修复,如您所见:

-rw-r--r-- 1 root root u:object_r:system_file:s0 6607 2017-04-30 16:44 build.prop
-rw-rw-r-- 1 root root u:object_r:system_file:s0 6643 2017-05-26 14:22 build.prop

我将build.prop权限从644更改为664,它可能会引发异常弹出系统启动,然后设备无法正常完成启动