Adb error failed to read copy response

I have read the FAQ. I have searched in existing issues. Environment OS: Arch Linux 5.17.1 scrcpy version: 1.23 installation method: Arch package manager device model: SM_N960F Android version: 10 ...
  • I have read the FAQ.
  • I have searched in existing issues.

Environment

  • OS: Arch Linux 5.17.1
  • scrcpy version: 1.23
  • installation method: Arch package manager
  • device model: SM_N960F
  • Android version: 10

Describe the bug
Sometimes scrcpy seems unable to negotiate the connection, and breaks usb debugging in the process. Disconnecting and reconnecting the phone presents the devices in adb devices again, but it seems to be random whether running scrcpy will cause usb debugging to stop working again.

# using scrcpy as normal, then device suddenly disconnects
[aly@ads-desktop ~]$ scrcpy
scrcpy 1.23 <https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 213.6 MB/s (41123 bytes in 0.000s)
[server] INFO: Device: samsung SM-N960F (Android 10)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6.0 NVIDIA 510.60.02
INFO: Trilinear filtering enabled
INFO: Initial texture: 2216x1080
WARN: Device disconnected

# attempting to reconnect
[aly@ads-desktop ~]$ scrcpy
scrcpy 1.23 <https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 279.8 MB/s (41123 bytes in 0.000s)
adb: error: failed to read copy response
ERROR: "adb push" returned with value 1
ERROR: Server connection failed

[aly@ads-desktop ~]$ scrcpy
scrcpy 1.23 <https://github.com/Genymobile/scrcpy>
ERROR: Could not find any ADB device
ERROR: Server connection failed

[aly@ads-desktop ~]$ adb devices
List of devices attached
28cda4b224027ece	device

[aly@ads-desktop ~]$ scrcpy -V verbose
scrcpy 1.23 <https://github.com/Genymobile/scrcpy>
DEBUG: ADB device found:
DEBUG:     -->   (usb)  28cda4b224027ece                device  SM_N960F
DEBUG: Device serial: 28cda4b224027ece
DEBUG: Using server: /usr/share/scrcpy/scrcpy-server
/usr/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 165.4 MB/s (41123 bytes in 0.000s)
adb: error: failed to read copy response
ERROR: "adb push" returned with value 1
ERROR: Server connection failed

[aly@ads-desktop ~]$ scrcpy -V verbose
scrcpy 1.23 <https://github.com/Genymobile/scrcpy>
ERROR: Could not find any ADB device
ERROR: Server connection failed

[aly@ads-desktop ~]$ adb devices
List of devices attached

[aly@ads-desktop ~]$

The console output is like this (there is 1 file and 1 subfolder in current directory, and 10 files in this subfolder):

user$ adb push * /sdcard/Android/data/com.xxx.xxx.xxx
adb: error: failed to copy 'Subfolder/subfile1.txt' to '/sdcard/Android/data/com.xxx.xxx.xxx/Subfolder/subfile1.txt': remote secure_mkdirs failed: Operation not permitted
Subfolder/: 10 files pushed, 0 skipped. 4.3 MB/s (29693 bytes in 0.007s)
adb: error: failed to read copy xxx.xxx.xxx/file.txt
file.txt: 1 file pushed, 0 skipped. 2.4 MB/s (1134 bytes in 0.000s)
adb: error: failed to read copy response
11 files pushed, 0 skipped. 1.6 MB/s (30827 bytes in 0.018s)

However, when entering the folder, the ‘Subfolder’ has already been created, but no file has been pushed (even if it shows ’11 files pushed’). And after I tried to push again, there is no error showing and the 11 files are all successfully pushed.

This issue is not reproducible on Tab S7, which has the exact same Android OS version (12) and One UI version (4.1). I think it may be related to privilege changing in this device because the first column ‘rws’ on Tab S8 is different from ‘rwx’ on Tab S7, and the owner of files that I pushed is ‘shell’ on Tab S8 other than ‘u0_xxxx’ on Tab S7.

user$ adb shell ls -al /sdcard/Android/data/com.xxx.xxx.xxx
total 22
drwxrws---  6 u0_a361  ext_data_rw 3452 2022-07-21 11:11 .
drwxrws--x 28 media_rw ext_data_rw 3452 2022-07-21 11:11 ..
drwxrws--- 15 shell    ext_data_rw 3452 2022-07-21 11:12 folder

Similarly, if I mkdir under /sdcard/Android or /sdcard on Tab S8, the user is ‘u0_a192’:

gts8wifi:/sdcard/Android $ ls -al
total 23
drwxrws---  3 u0_a192  media_rw    3452 2022-06-30 15:44 .Trash
drwxrws--x 29 media_rw ext_data_rw 3452 2022-07-28 18:02 data
drwxrws--x  3 media_rw media_rw    3452 2022-07-26 17:20 media
drwxrws--x  3 media_rw ext_obb_rw  3452 2022-04-21 18:39 obb
drwxrws---  2 u0_a192  media_rw    3452 2022-07-28 18:02 NewFolder

And if I mkdir under /sdcard/Android/data, the user becomes ‘shell’ (any command like ‘chmod’ is not permitted on this device):

gts8wifi:/sdcard/Android/data $ ls -al
total 90
drwxrws--x 30 media_rw ext_data_rw 3452 2022-07-28 18:03 .
drwxrws--x  7 media_rw media_rw    3452 2022-07-28 18:02 ..
-rw-rw----  1 u0_a192  ext_data_rw    0 2022-04-21 18:39 .nomedia
drwxrws---  3 u0_a156  ext_data_rw 3452 2022-06-29 16:22 com.samsung.android.app.notes
drwxrws---  3 system   ext_data_rw 3452 2022-04-21 18:39 com.samsung.android.forest
drwxrws---  2 shell    ext_data_rw 3452 2022-07-28 18:03 NewFolder

Is there any way to solve this problem? The only workaround I could find out is to create all of the folders and subfolders first, then the adb push works fine.

Я новичок во Flutter, я хочу запустить свое первое приложение, но у меня возникла эта проблема

Launching libmain.dart on HUAWEI P7 L10 in debug mode...
Running Gradle task 'assembleDebug'...

√ Built buildappoutputsapkdebugapp-debug.apk.

Installing buildappoutputsapkapp.apk...

Error: ADB exited with exit code -1

Performing Push Install

adb: error: failed to read copy response

 D:MobileAndroidStudioProjectsi_am_richbuildappoutputsapkapp.apk: 1 file pushed, 0 skipped. 5.3 MB/s (45878300 bytes in 8.283s)

adb: error: failed to read copy response

Error launching application on HUAWEI P7 L10.

И когда я запускаю flutter doctor, у меня нет проблем No issues found

D:MobileAndroidStudioProjectsi_am_rich>flutter doctor                                                                                          
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.12.13+hotfix.9, on Microsoft Windows [Version 10.0.14393], locale ru-RU)
 
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
[√] Android Studio (version 4.0)
[√] VS Code (version 1.48.0)
[√] Connected device (1 available)

• No issues found!

Помогите пожалуйста, если знаете. Спасибо.

1 ответ

Запуск flutter upgrade должен исправить это.


1

ByteMe
2 Сен 2020 в 20:51

Hi I’m not trying to change the system just upload some file to the /storage/sdcard folder or /sdcard i do

adb push etc /storage/sdcard

and I get

adb: error: failed to copy 'etc' to '/storage/sdcard/etc': remote Read-only file system

the thing is only happens on android 5.1 it must be a bug i read many post about remount the system but it is not the system what i need to remount it is the userdata partition it should be writable, i have create many times the AVD maybe it is something i did but always i get the same result

if i do df in shell i get

/dev                   498.4M    28.0K   498.4M   4096
/sys/fs/cgroup         498.4M    12.0K   498.4M   4096
/mnt/asec              498.4M     0.0K   498.4M   4096
/mnt/obb               498.4M     0.0K   498.4M   4096
/system                  1.4G     1.2G   180.2M   4096
/cache                  61.0M    56.0K    60.9M   4096
/data                    7.7G   571.6M     7.1G   4096

i can’t upload files , if i install es Explorer says the sdcard it is unmounted but don’t shows the internal storage where it is the internal storage ? some one can tell me please what it is happen here ?

Недавно я основал свой Droid X, и все, кажется, работает отлично. Я внес некоторые изменения в build.prop, и когда я делаю adb push build.prop /system/, я получаю следующую ошибку: failed to copy 'c:build.prop' to '/system//build.prop': Read-only file system.

Как я могу это исправить?

4b9b3361

Ответ 1

Получил это от форума Android, на котором я задал тот же вопрос. Надеюсь, это поможет кому-то еще.

В терминальном эмуляторе по телефону:

mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

Затем в командной строке введите adb push

Ответ 2

Не все телефоны и версии Android имеют все то же самое.
Ограничение параметров при пересоединении было бы лучше.

Просто перемонтируйте как rw (Чтение/Запись):

# mount -o rw,remount /system

Как только вы закончите внесение изменений, перемонтируйте ro (только для чтения):

# mount -o ro,remount /system

Ответ 3

adb remount

работает для меня и, кажется, является самым простым решением.

Ответ 4

Пока я знаю, что вопрос касается реального устройства, если кто-то попал сюда с подобной проблемой в эмуляторе, с любыми инструментами, имеющими последнее значение с февраля 2017 года, эмулятор должен быть запущен из командной строки с помощью

-writable-system

Чтобы что-либо было доступно для записи в /system. Без этого флага никакая комбинация remount или mount не позволяет записать на /system.

После запуска эмулятора с этим флагом, один adb remount после adb root достаточно, чтобы получить разрешения для нажатия на /system.

Вот пример командной строки, которую я использую для запуска моего эмулятора:

./emulator -writable-system -avd Nexus_5_API_25 -no-snapshot-load -qemu

Значение для флагов -avd происходит от:

./emulator -list-avds

Ответ 5

Я думаю, что самый безопасный способ — перемонтировать /system как read-write, используя:

mount -o remount,rw /system

и, когда это будет сделано, перемонтируйте его как только для чтения:

mount -o remount,ro /system

Ответ 6

На моей галактике Samsung mini S5570 (после того, как он получил корень на сотовом телефоне):

Кулак, как root, я побежал:

systemctl start adb

как обычный пользователь:

adb shell 
su 

Предоставить права доступа root на сенсорном экране

mount 

укажите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что /dev/stl 12 был установлен в /system как ro (только готовый), поэтому нам просто нужно:

mount -o rw,remount /dev/stl12 /system

Ответ 7

В командной строке выполните следующие действия:

>adb remount
>adb push framework-res_old.apk /system/framework-res.apk

Ответ 8

Вот что сработало для меня. Я запускал эмулятор Android 7.1.1 (нуга).

На терминале я нахожу следующую команду. Одна вещь, которую нужно заметить, — это флаг -writable-system

./emulator -writable-system -avd Nexus_6_API_25  -partition-size 280

На другой вкладке

./adb shell
su
mount -o rw,remount -t ext4 /dev/block/vda /system

Все изменения, внесенные в/содержимое системы, сохранятся при перезапуске.

Ответ 9

adb disable-verity
adb reboot
adb root
adb remount

Это работает для меня и является самым простым решением.

Ответ 10

Открыть эмулятор терминала на телефоне:
затем

adb shell

после запуска этого демона

su
mount -o rw,remount /mnt/sdcard

тогда чтение только преобразуется в read-Write.

Ответ 11

mount -o rw,remount /dev/stl12 /system

работает для меня

Ответ 12

Я нашел эту статью из Google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).

В Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw в/и/system (это единственные, которые я пытался изменить) и, возможно, другие.

Следующее было тем, что я выполнял для выполнения изменений, которые я пытался достичь. Я вложил их в окно, потому что удаление бит выполнения из /sbin/ric необходимо выполнить быстро, чтобы остановить его перезапуск. (Я пробовал stop ric, это не сработало — хотя он работал над предыдущей версией Android на телефоне).

pkill -9 ric; mount -o rw,remount -t rootfs /
chmod 640 /sbin/ric
mount -o rw,remount /system

Я изменил здесь файл hosts, так что это место, где вы вносите необходимые изменения в файловую систему. Чтобы оставить вещи так, как мы их нашли, сделайте следующее:

mount -o ro,remount /system
chmod 750 /sbin/ric
mount -o ro,remount -t rootfs /

В какой момент ric должен автоматически перезагрузиться. (Он автоматически перезагрузился для меня.)

Ответ 13

Добавляя немного больше ответа Янга Бергстрема: потому что Android — это система на базе Linux, а в Linux в Linux содержатся косые черты (../) при использовании команды push, используйте «/» для определения пути назначения в Android-устройство.

Например, команда: adb push C:UsersadminDesktop1.JPG sdcard/pictures/

Обратите внимание, что здесь обратные косые черты используются для определения пути к исходному файлу файла, который должен быть вытолкнут с Windows PC, и косые черты используются для определения пути назначения, потому что Android — это система на основе Linux. Вам не нужно действовать как root, чтобы использовать эту команду, а также отлично работает на производственных устройствах.

Ответ 14

Иногда вы получаете ошибку, потому что место назначения в телефоне не существует. Например, какое-то местоположение внешнего хранилища телефона Android < <20 > вместо /storage/emulated/0.

Ответ 15

Спасибо, Sérgio, для команды «mount» без параметров.
Мне нужно сделать adb push в /data/data/com.my.app/lib для некоторой проблемы с тестированием и получить сообщение «Только для чтения».

Команда

ls показывает мне:

[email protected]:/ # ls -l /data/data/com.my.app/
drwxrwx--x u0_a98 u0_a98 2016-05-06 09:16 cache
drwxrwx--x u0_a98 u0_a98 2016-05-06 09:04 files
lrwxrwxrwx system system 2016-05-06 11:43 lib -> /mnt/asec/com.my.app-1/lib

Итак, он понял, что каталог «lib» отделен от других каталогов приложений.

Command
mount -o rw,remount /mnt/asec
не решила проблему «r/o fs», она хочет параметр устройства перед параметром каталога.

Команда

«df» также не помогла, но показывает, что мой каталог /mnt/asec/com.my.app-1 находится в отдельной точке монтирования.

Затем я смотрю на mount и voila!

[email protected]:/ # mount
.........
/dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0

Следующие шаги уже описаны вверх: перемонтируйте RW, нажмите и верните обратно в RO.

Ответ 16

it sames, который должен извлечь и переупаковать initrc.img и отредактировать файл init с кодом mount/system

Ответ 17

This worked for me

#Mount as ReadOnly

su -c "mount -o rw,remount /system"
# Change Permission for file
su -c "chmod 777 /system/build.prop" 
#Edit the file to add the property
su -c "busybox vi /system/build.prop"
# Add now
service.adb.tcp.port=5678

# Reset old permissions
su -c "chmod 644 /system/build.prop"

# Mount as readonly again once done
su -c "mount -o ro,remount /system"

Ответ 18

В моем случае я использовал команду adb push ~/Desktop/file.txt ~/sdcard/

Я изменил его на ~/Desktop/file.txt/sdcard/ а затем он сработал.

Обязательно отключите и снова подключите телефон.

Ответ 19

Если произошел сбой при копировании файла, доступного только для чтения, вы можете попробовать найти исходный файл в корневом каталоге и изменить его с помощью текстового редактора корневого текста (желательно) RB, он поставляется с приложением ROM Toolbox.

Ответ 20

Попробуйте это в терминальном эмуляторе как root:

restorecon -v -R /data/media

Ответ 21

Скопировать файлы на SD-карту?

Ну, я полагаю, вам нравится копировать данные на Sd-карту с компьютера разработчиков? Возможно, вы укоренились в разработке и сделали доступную область доступной?) У меня была проблема с загрузкой файлов данных для моего приложения (Android Studio 1.3.2 в Win7), но.

  • Сначала команда-команда adb должна быть найдена в пути:
    PATH =% PATH%; C:UsersXXXXXAppDataLocalAndroidsdkplatform-tools (папка AppData скрыта, поэтому вам нужно установить настройку папки, не скрывая скрытые файлы и папку, чтобы найти ее, Path работает независимо)
  • Вам нужно указать путь к папке вправо или получить сообщение об ошибке только для чтения, скорее всего, оно должно начинаться с /sdcard или это область только для чтения. Как только я не сделал никаких проблем, нажав файл на эмулятор.

Итак, например, команда adb может выглядеть так:

adb push C:testdatat.txt/sdcard/download/t.txt

Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Adb devices unauthorized как исправить
  • Adb connection error удаленный хост принудительно разорвал существующее подключение
  • Adb connection error android studio
  • Adb cannot run as root in production builds как исправить
  • Adaptive air suspension audi q7 ошибка мигает

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии