因为只读文件系统无法推送到Android模拟器

时间:2018-03-22 10:24:33

标签: android macos

我正在尝试将主机文件推送到我的adb设备。

所以,我做了:

[~/Library/Android/sdk/tools]$ emulator -avd Nexus_5X_API_26_x86 -writable-system 
emulator: WARNING: System image is writable
emulator: ### WARNING: /etc/localtime does not point to /usr . 
/share/zoneinfo/, can't determine zoneinfo timezone name
emulator: ### WARNING: /etc/localtime does not point to 
/usr/share/zoneinfo/, can't determine zoneinfo timezone name

现在我在另一个控制台 adb push hosts /system/etc/hosts

但我得到了以下错误:

  

adb:错误:未能复制'主持人'到' / system / etc / hosts':远程无法创建文件:只读文件系统   hosts:推送0个文件。 0.1 MB / s(93字节,0.001秒)

有什么建议吗?

3 个答案:

答案 0 :(得分:6)

对于2020年来到这里的人:

就我而言,答案30版本的API不支持可写系统,因此步骤不起作用。

我必须使用28版API。

答案 1 :(得分:2)

试试这个:

$emulator -avd Nexus_5X_API_26_x86 -writable-system 
$adb root
$adb remount
$adb push hosts /system/etc/hosts

答案 2 :(得分:0)

可能是缺少目录!

确保您推送到一个存在的目录。当我尝试将照片推送到模拟器上的图片文件夹时,我在开始时犯了一个错误并添加了一个 ~:它应该是 adb push -s emulator-5554 harold /sdcard/Pictures。我经常先浏览系统,使用 adb shell

对于 2020 年,

API 级别 30 没有改变任何东西,Ropstahs 现有的答案是错误的,因为我一直看到它适用于 API 级别 30 设备,有和没有 Play 商店(见截图,名为 {{ 1}}):

<块引用>

Ropstah:30 版 API 不支持可写系统。

Screenshot