取消设置持久系统属性

Stu*_*Stu 37 shell android adb

我可以使用setprop <key> <value>命令在Android手机上设置持久系统属性(具有适当的权限):

$ adb shell setprop persist.this.is.my.property testing
Run Code Online (Sandbox Code Playgroud)

然后我可以确认该属性已设置:

$ adb shell getprop persist.this.is.my.property
testing
Run Code Online (Sandbox Code Playgroud)

但是我现在无法移除密钥(因为密钥开始时它仍然存在,它在电话重新启动后存在).没有unsetprop或rmprop或类似的东西.尝试将值设置为nil或null会将值设置为该值并将其保留为空会提示帮助说明.

有没有人知道如何在设置后从命令行取消设置系统属性?

Stu*_*Stu 52

要删除该属性:

rm /data/property/persist.this.is.my.property && reboot
Run Code Online (Sandbox Code Playgroud)

  • `setprop wrap.com.secusmart.secuvoice""`帮帮我 (5认同)
  • sebweisgerber:区别在于你的财产不在"坚持".家庭. (5认同)
  • .data/property目录仅用于持久属性.其他defualt系统属性位于文件/dafault.prop和/system/build.prop中.用户应用程序创建的所有其他属性都存储在内存中,并且在重新引导时不会持久存在. (4认同)
  • 而在 Android Q 上,它是一个二进制文件“/data/property/persistent_properties”,包含所有 persist 属性。所以不适合Q。 (3认同)
  • 这不再适用.我通过`setprop wrap.path.to.my.app`添加了一个值,它没有通过`ls/data/property`列出,但如果我输入`getprop`仍然定义 (2认同)

Pel*_*let 7

adb shell setprop persist.this.is.my.property \"\"
adb shell reboot
Run Code Online (Sandbox Code Playgroud)

更改了属性值,因此它不会使用它以前的值。
空引号(“”)对我不起作用,我不得不逃避它们(这是在 bash 中)。


sia*_*ach 5

您可以删除该属性 adb shell setprop persist.this.is.my.property ""

  • 这仍然将密钥留在手机的属性列表中,您可以通过键入“getprop”而不指定密钥名称来查看它。 (3认同)