Android 取消设置持久系统属性

Android 取消设置持久系统属性,android,shell,adb,Android,Shell,Adb,我可以使用setprop命令在Android手机上设置持久系统属性(具有适当的权限): $ adb shell setprop persist.this.is.my.property testing 然后,我可以确认属性已设置: $ adb shell getprop persist.this.is.my.property testing 但我现在无法删除设置好的密钥(因为密钥开始时存在持久性,在手机重新启动后它就在那里)。没有unsetprop或rmprop或任何类似的东西。尝试将该值设置

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

$ adb shell setprop persist.this.is.my.property testing
然后,我可以确认属性已设置:

$ adb shell getprop persist.this.is.my.property
testing
但我现在无法删除设置好的密钥(因为密钥开始时存在持久性,在手机重新启动后它就在那里)。没有unsetprop或rmprop或任何类似的东西。尝试将该值设置为nil或null会将其设置为该值,并将其保留为空会提示帮助说明


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

在Android 9 Pie之前,persistent属性存储为文件,可以删除

rm /data/property/persist.this.is.my.property && reboot
自从Android 9 Pie以来,持久性属性存储在单个文件(提交)中,并且只能取消设置

setprop persist.this.is.my.property \"\" && reboot

只需重新启动设备,属性就会取消设置。

您可以使用adb shell setprop persist.this.is.my.property“”删除属性。它对我有效。
在macOS上:
echo-e“setprop wrap.$PACKAGE\u NAME\”\“\n exit”>温度
adb外壳<温度
rm./温度

在android上:
setprop wrap.$PACKAGE\u NAME”“

更改了属性值,因此它不会使用以前的值。

空引号(“”)对我不起作用,我不得不逃避它们(这是在bash中)。

这不再是真的。我通过
setprop wrap.path.to.my.app
添加了一个值,它没有通过
ls/data/property
列出,但如果我输入
getprop
setprop wrap.com.secusmart.secuvoice”“
对mesebweisgerber的帮助:区别在于您的属性不在“persist”中family.the.data/property目录仅用于持久属性。其他解除系统属性位于文件/dafault.prop和/system/build.prop中。用户应用程序创建的所有其他属性都存储在内存中,在重新启动时不会持久化。而在Android Q上,它是一个二进制文件
/data/property/persistent\u properties
保存所有persist属性。因此它不适用于Q。不,它不会-属性名称开头的持久化确保即使在手机重置后属性仍然保留。在属性前面加上
persist。
不会使它在我的手机(LG G6,Android 8.0.0)重新启动后保留。这仍然会在手机的属性列表中保留键,您可以通过键入“getprop”而不指定键名来查看它。
adb shell setprop persist.this.is.my.property \"\"
adb shell reboot