samba禁用时拷贝服务器文件到本地的脚本

Android系统开发一般在ubuntu服务器上,我们办公电脑一般是windows。在将编译出来的模块push到板子上时,一般采用adb push 方式。

有时由于种种原因会出现服务器禁用了samba,导致无法直接用adb push 的情况。

下面介绍用winscp 走ssh 拷贝服务器生成模块到本地电脑后,再push到机器上的方式。

以fwk为例,bat脚本如下:

bash 复制代码
@echo on

setlocal

:: 设置SFTP服务器的相关信息
set HOST=XXXXXXX
set USER=XXX
set PASSWORD=XXXXXXXXXXX
set REMOTE_DIR=XXXXXXXXXXXXX/system/framework
set LOCAL_DIR=%CD%

:: 删除之前的缓存的文件夹,并重新创建
RMDIR framework /S /Q
mkdir framework

:: 创建WinSCP脚本
echo open sftp://%USER%:%PASSWORD%@%HOST% > winscp_script.txt
echo lcd %LOCAL_DIR% >> winscp_script.txt
:: 我们这里只拷贝framework相关文件;若是apk等模块,不需要进入文件夹,直接用get . 代替即可。
echo lcd framework >> winscp_script.txt
echo cd %REMOTE_DIR% >> winscp_script.txt
echo get framework.jar >> winscp_script.txt
echo get services.jar >> winscp_script.txt
echo get services.jar.prof >> winscp_script.txt
echo get framework-res.apk >> winscp_script.txt
echo get oat >> winscp_script.txt
echo get arm >> winscp_script.txt
echo exit >> winscp_script.txt

:: 使用WinSCP执行脚本,这会将服务器文件拷贝到本地电脑
"C:\Program Files (x86)\WinSCP\winscp.com" /script=winscp_script.txt

:: 删除临时脚本文件
del winscp_script.txt


endlocal

::下面直接在本地push
adb wait-for-device

adb  root
adb  remount
adb  shell     mount -o rw,remount,rw /system
adb  shell    mount -o rw,remount,rw /product  
adb  push    framework  /system



adb shell sync
adb shell    ls -al /system/framework/framework.jar
adb shell    ls -al /system/framework/services.jar
adb shell    ls -al /system/lib/libssljni.so

@pause

adb reboot
相关推荐
阿巴斯甜13 小时前
Lifecycle
android
fengci.13 小时前
CTF+随机困难部分
android·开发语言·网络·安全·php
阿巴斯甜13 小时前
LiveData
android
OCN_Yang14 小时前
Android 开发:XML、Flutter、Compose 怎么选?
android
꯭爿꯭巎꯭14 小时前
壁纸引擎安卓版(wallpaper engine安卓版免费下载)
android
阿巴斯甜14 小时前
viewModel
android
问心无愧051314 小时前
ctf show web 入门39
android·前端·笔记
千里马学框架14 小时前
WMS/AMS深入WindowState如何正确找到自己在层级结构树中位置进行挂载
android·wms·ai编程·性能·系统开发·车载开发·framework工程师
6666v615 小时前
深入 Android 统一状态模型:MVI 架构的核心实现
android·kotlin
Digitally15 小时前
能否通过蓝牙从安卓传输文件到 iPhone?6 种替代方法
android·iphone