adb-sync

  • 所有者: google/adb-sync
  • 平台:
  • 许可证: Apache License 2.0
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

adb-sync

adb-sync is a tool to synchronize files between a PC and an Android device
using the ADB (Android Debug Bridge).

Related Projects

Before getting used to this, please review this list of projects that are
somehow related to adb-sync and may fulfill your needs better:

  • rsync is a file synchronization tool for local
    (including FUSE) file systems or SSH connections. This can be used even with
    Android devices if rooted or using an app like
    SSHelper.
  • adbfs is a FUSE file system that uses adb to
    communicate to the device. Requires a rooted device, though.
  • adbfs-rootless is a fork of adbfs
    that requires no root on the device. Does not play very well with rsync.
  • go-mtpfs is a FUSE file system to
    connect to Android devices via MTP. Due to MTP's restrictions, only a certain
    set of file extensions is supported. To store unsupported files, just add
    .txt! Requires no USB debugging mode.

Setup

Android Side

First you need to enable USB debugging mode. This allows authorized computers
(on Android before 4.4.3 all computers) to perform possibly dangerous
operations on your device. If you do not accept this risk, do not proceed and
try using go-mtpfs instead!

On your Android device:

  • Go to the Settings app.
  • If there is no "Developer Options" menu:
    • Select "About".
    • Tap "Build Number" seven times.
    • Go back.
  • Go to "Developer Options".
  • Enable "USB Debugging".

PC Side

  • Install the Android SDK (the
    stand-alone Android SDK "for an existing IDE" is sufficient). Alternatively,
    some Linux distributions come with a package named like "android-tools-adb"
    that contains the required tool.
  • Make sure "adb" is in your PATH. If you use a package from your Linux
    distribution, this should already be the case; if you used the SDK, you
    probably will have to add an entry to PATH in your ~/.profile file, log out
    and log back in.
  • git clone https://github.com/google/adb-sync
  • cd adb-sync
  • Copy or symlink the adb-sync script somewhere in your PATH. For example:
    cp adb-sync /usr/local/bin/

Usage

To get a full help, type:

adb-sync --help

To synchronize your music files from ~/Music to your device, type one of:

adb-sync ~/Music /sdcard
adb-sync ~/Music/ /sdcard/Music

To synchronize your music files from ~/Music to your device, deleting files you
removed from your PC, type one of:

adb-sync --delete ~/Music /sdcard
adb-sync --delete ~/Music/ /sdcard/Music

To copy all downloads from your device to your PC, type:

adb-sync --reverse /sdcard/Download/ ~/Downloads

ADB Channel

This package also contains a separate tool called adb-channel, which is a
convenience wrapper to connect a networking socket on the Android device to
file descriptors on the PC side. It can even launch and shut down the given
application automatically!

It is best used as a ProxyCommand for SSH (install
SSHelper
first) using a configuration like:

Host sshelper
Port 2222
ProxyCommand adb-channel tcp:%p com.arachnoid.sshelper/.SSHelperActivity 1

After adding this to ~/.ssh/config, run ssh-copy-id sshelper.

Congratulations! You can now use rsync, sshfs etc. to the host name
sshelper.

Contributing

Patches to this project are very welcome.

Before sending a patch or pull request, we ask you to fill out one of the
Contributor License Agreements:

Disclaimer

This is not an official Google product.

主要指标

概览
名称与所有者google/adb-sync
主编程语言Python
编程语言Python (语言数: 2)
平台
许可证Apache License 2.0
所有者活动
创建于2014-08-25 16:18:51
推送于2024-03-23 10:35:07
最后一次提交2023-09-22 17:47:28
发布数0
用户参与
星数1.1k
关注者数41
派生数177
提交数37
已启用问题?
问题数38
打开的问题数20
拉请求数6
打开的拉请求数8
关闭的拉请求数9
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?