gpt4 book ai didi

android - SystemProperties.set 需要什么 linux 权限才能工作? (安卓)

转载 作者:太空狗 更新时间:2023-10-29 16:02:22 28 4
gpt4 key购买 nike

要使 SystemProperties.set 正常工作,需要哪些 linux 权限? (安卓)

我正在编写一个在 Android 设备上的系统/应用程序中运行的应用程序。

它正在运行

android:sharedUserId="android.uid.systemui"

在 Android.mk 中

LOCAL_CERTIFICATE := platform

但是,我发现我无法创建、写入或设置属性。在控制台中,我可以执行 getprop、setprop。但是,我的程序无法创建它。

ls -l /data/property/

表示不存在

        Slog.d(TAG, "key is not set, will set APPLE");
SystemProperties.set(keyName, favorite);
if(SystemProperties.get(keyName).equals(favorite)) {
Slog.d(TAG, keyName + " = " + SystemProperties.get(keyName));
} else {
Slog.e(TAG, "setting SystemProperties failed. value written = " + SystemProperties.get(keyName));
}

日志:

Line 1365: D/MyTag( 2593): keyName: persist.fruit.user.favorite
Line 1373: D/MyTag( 2593): keyName has value []
Line 1377: D/MyTag( 2593): key is not set, will set APPLE
Line 1381: E/MyTag( 2593): setting SystemProperties failed. value written =

显然这可能是权限不足的问题 - 但哪些权限不足?

最佳答案

我接受了 fadden 的答案,但经过更多探索后发现它是不正确的,但它对获得正确答案很有帮助。

第一步:查看 https://android.googlesource.com/platform/system/core/+/kitkat-release/init/property_service.c 中的数组

{ "persist.sys.",     AID_SYSTEM,   0 },

您的属性名称应以数组中相同的键字符串开头。因此我不得不将我的属性名称更改为“persist.sys.fruit.user.favorite”

第 2 步:在您的 android list 文件中,以上面数组中提到的用户 ID 运行。

<manifest android:sharedUserId="android.uid.system" >

关于android - SystemProperties.set 需要什么 linux 权限才能工作? (安卓),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27611738/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com