我现在需要把Generic.kl从vendor/sdmc/himalaya/us/kb_keylayout/Generic.kl 拷贝到系统的/system/usr/keylayout/Generic.kl。代码上在mk文件添加了PRODUCT_COPY_FILES += \ $(VENDOR_CUS_FOLDER)/$(MODEL_REGION)/kb_keylayout/Generic.kl:/system/usr/keylayout/Generic.kl,开机后查看这个文件的内容没有被覆盖;手动覆盖是可以的,该mk文件是正确被引用的。现在需要在代码上能实现,把文件拷贝到system目录下需要权限吗
时间: 2023-08-11 16:04:13 浏览: 176
目录/文件拷贝
是的,将文件拷贝到 `/system` 目录下是需要 root 权限的。如果你没有获取 root 权限,可以在代码中通过 `su` 命令获取 root 权限后再执行文件复制操作,例如:
```bash
su
cp /vendor/sdmc/himalaya/us/kb_keylayout/Generic.kl /system/usr/keylayout/Generic.kl
```
在代码中执行上述命令,需要使用 `Runtime.getRuntime().exec()` 或者 `ProcessBuilder` 等方式来启动一个子进程,并将命令作为子进程的输入。需要注意的是,使用 `su` 命令获取 root 权限可能会影响设备的安全性,因此需要谨慎使用。
阅读全文