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
相关推荐
2401_8332693010 小时前
Android registerForActivityResult详解
android
Carson带你学Android10 小时前
9月 Android Drop:Gemini 终于不只是聊天助手了
android·ai编程
Sagittarius_A*10 小时前
【LitCTF2026】lit_ezsql
android·java·数据库
hai_android11 小时前
Messenger:Android 最轻量的 IPC 方式
android·kotlin
gxgldyh11 小时前
Android Framework源码解析(十):Service启动全流程——从startService到Service执行的源码深度解析
android
换元不配限12 小时前
Android Studio Dolphin 新版Logcat 使用指南:告别混乱日志,高效定位问题
android·android studio·logcat
Android-Flutter13 小时前
android Binder 应用层开发 详解
android·binder
文人sec1 天前
MySQL主库出问题了,从库怎么办?备库为什么会延迟好几个小时?
android·数据库·mysql
hai_android1 天前
不用 AIDL,手把手教你手写 Binder 代理类
android·kotlin
mmsx1 天前
osmdroid 地图实战 03|地图的"分层世界":离线方案、图层模型与 Overlay 体系
android·前端