需要知道如何从本机 HAL 将地图存储在 android 持久内存中



我正在努力在Android中创建一项服务。本机层存储了一些即使在系统电源循环后也需要的值。我想知道我可以从本机层访问内存的哪一部分,以确保我的数据安全以供以后使用。代码片段将不胜感激。

/data分区应该是 Android 中唯一可写的分区。您可以使用基本的 posix 命令写入/data/vendor

int fd = open("/data/vendor/myfile", O_WRONLY | O_CREAT);
write(fd, "data", 4);
close(fd);

注意:请应用正确的错误处理:)


写入文件的替代方法是使用带有persist.前缀的系统属性。

#include <android-base/properties.h>
// ...
android::base::SetProperty("persist.myprop", "my value as a string");
// ...
std::string val = android::base::GetProperty("persist.myprop");

上面的例子使用了原有的系统属性界面,随着Android 10系统属性变得更加强大。

最新更新