我正在使用ADB以便将文件从桌面复制到模拟器上的文件夹。
adb push pic.jpg'/ storage / emulated / 0 / DCIM / camera /
这可以正常工作,但是我要复制许多文件,并且我不想为每个文件重复此命令。如何“推送”整个目录的内容?
编辑:我的Android工作室的屏幕截图:
答案 0 :(得分:1)
要将所有内容推送到当前目录中,您可以尝试:
adb push * /storage/emulated/0/DCIM/camera/*
答案 1 :(得分:1)
要上传整个目录,最简单的方法是在Android Studio中使用设备文件管理器。
从右下角的工具栏将其打开,然后导航到设备中要上传数据的目录。
右键单击并单击上载以上传文件或目录。
注意:仅适用于Android Studio 3.0及更高版本
答案 2 :(得分:1)
您可以使用product_tgt_cols = [product+'_tgt' for product in product_list]
print(product_tgt_cols) #['Product1_tgt', 'Product2_tgt', 'Product3_tgt', 'Product4_tgt', 'Product5_tgt']
product_pct_cols = [product+'_pct' for product in product_list]
print(product_pct_cols) #['Product1_pct', 'Product2_pct', 'Product3_pct', 'Product4_pct', 'Product5_pct']
start = time.time()
#join on location to get _tgt columns
emp_df = emp_df.join(tgt_df.set_index('Location'), on='Location', rsuffix='_tgt')
#divide the entire product arrays using numpy, store in temp
temp = emp_df[product_list].values/emp_df[product_tgt_cols].values
#create a new temp df for the _pct results, and assign back to emp_df
emp_df = emp_df.assign(**pd.DataFrame(temp, columns = product_pct_cols))
print(emp_df)
end = time.time()
print("with join: ",end - start)
将所有文件放入一个存档:
tar
然后将归档文件推送到设备上
tar -cvf all.tar .
最后将您的tar文件解压缩到设备中
adb push all.tar /sdcard
答案 3 :(得分:0)
我找不到解决方案,所以我做了一个:
from ppadb.client import Client as AdbClient
import os
import glob
adb = AdbClient(host='127.0.0.1', port=5037)
devices = adb.devices() #List of all connected devices
def send_over_adb(device,hostpath,devpath="/storage/emulated/0/"): # Recursively send folder and files over adb
if os.path.isfile(hostpath):
devpath = os.path.join(devpath,hostpath).replace('\\','/') # optimization for windows
device.push(hostpath, devpath)
elif os.path.isdir(hostpath):
for i in glob.glob(hostpath+'\*'):
print(i)
send_over_adb(device,i,devpath)
device.shell('am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/sdcard')
device.shell('am force-stop com.android.gallery3d') #force create thumbnails
hostpath='\path\to\folder\or\file\'
send_over_adb(devices[0],hostpath,devpath)
该函数递归发送文件夹和文件,同时保持文件夹结构并忽略空目录。
限制:文件名不应包含正斜杠或反斜杠(idk,如果任何操作系统允许)
依赖:pure-python-adb
测试:Python3.7.9 on Win 8.1