我现在需要把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 19:04:13 浏览: 54
是的,将文件拷贝到 `/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 权限可能会影响设备的安全性,因此需要谨慎使用。
相关问题
我现在需要把Generic.kl从vendor/sdmc/himalaya/us/kb_keylayout/Generic.kl 拷贝到系统的/system/usr/keylayout/Generic.kl。开机后查看这个文件的内容没有被覆盖
您可以使用以下命令将文件从vendor目录复制到系统目录中:
```
adb root
adb remount
adb push vendor/sdmc/himalaya/us/kb_keylayout/Generic.kl /system/usr/keylayout/Generic.kl
```
其中,adb root 和 adb remount 命令将设备切换为 root 用户,并重新挂载文件系统为可读写模式,这样才能复制文件到 /system 目录下。接着,adb push 命令将文件从 vendor 目录复制到系统目录中。
复制完成后,您可以使用以下命令重新启动设备,以确保配置文件生效:
```
adb reboot
```
如果您依然无法看到文件的内容被覆盖,您可以尝试清除系统缓存,方法如下:
1. 进入设备的 recovery 模式,方法因设备而异,一般是按住音量减和电源键。
2. 进入 recovery 后,选择 "Wipe cache partition" 或 "清除缓存分区",等待清除完成。
3. 选择 "Reboot system now" 或 "重新启动系统",等待设备重启。
重启完成后,您可以再次查看文件的内容,确认是否被覆盖。
warning: writing to readonly directory: "vendor/sdmc/himalaya/us/kb_keylayout/Generic.kl"
这个警告通常是由于你尝试在一个只读的目录中写入文件而引起的。在这种情况下,你需要检查目录的权限设置,或者尝试将文件写入到另一个可写的目录中。如果你无法更改目录的权限,你可以考虑使用sudo命令以管理员身份运行你的程序,这可能会解决问题。另外,你也可以尝试使用其他文件路径来存储你的文件,而不是当前目录。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)