Android开发中常用的一些adb命令

Android车载应用开发常用adb命令 3、问题复现后下拉手机通知栏点击“反馈”,填写问题描述及问题时间点,问题视频或截图可点击“+”添加,再次点击底部的“反馈”,显示反馈完成即可;x9hp_ms:/data/local/tmp/aec_logs $ exit //退出 退出后才可以拉取音频文件。x9hp_ms:/ $ cd /data/local/tmp/aec_logs //cd到对应目录。i. 确保手机已经启用开发者模式。进入“设置” > “关于手机” > 连续点击“版本号”7次,启用开发者选项。 阅读详情

自己接触Android时间不长,从一些基本的知识开始学起,整理了几个常用的adb命令,我是在Windows平台下,用Cygwin执行的


adb [-d|-e|-s <serialNumber>] <command>

这是adb命令使用的基本格式,其中:

-d 让PC端连接的真实android设备执行命令

-e 让PC端连接的虚拟android设备执行命令

-s 通过设备的序列号来让指定的设备执行命令

1、查看当前PC端连接有多少设备

adb devices

执行效果:



2、查看adb的版本

adb version
执行效果:


3、给设备进行apk的安装

adb -s <serialnumber> install <path-to-apk>
执行效果:


安装成功

还有一种安装方法

adb -s <serialNumber> shell pm install [options] <PATH>
[options]中常用 -r  代表重装,保留用户数据

4、卸载设备中的已经安装的软件

adb -s <serialNumber> uninstall <pkg_name>
执行效果:


同安装,卸载也有另外一种方法

adb -s <serialNumber> uninstall [options] <PACKAGE>
[options]常用 -k,表示卸载之后仍然保留用户数据

5、将数据从设备复制到PC中

adb -s <serialNumber> pull <remote_path> <PC_path>
执行效果:



6、将数据从PC复制到设备中

adb -s <serialNumber> push <pc_path> <remote_path>
执行效果:




7、获取连接到的手机的序列号

adb get-serialno
执行效果:



8、获取设备的连接状态

adb -s get-state
执行效果:



9、等待设备连接成功

adb wait-for-device


10、adb-server 的开启与关闭

adb kill-server
adb start-server

11、列出目标设备上的activity栈和任务信息

adb shell dumpsys activity

12、列出目标设备中的系统信息和应用信息

adb shell dumpsys packages


13、列出目标平台上的所有权限

adb shell pm list permissions


14、列出目标设备上安装的所有app的包名

adb shell pm list packages


15、列出目标设备上的所有feature

adb shell pm list features

16、使用adb命令启动一个activity

adb shell am start PACKAGE_NAME/FULLY_QUALIFIED_ACTIVITY 


17、截图命令

adb shell /system/bin/screencap -p /sdcard/1.png
玩转Android10源码开发定制(二)之adb常用命令使用介绍 adb命令是调试控制手机过程中用的比较多工具。在电脑终端中执行adb --help可以查看当前支持的adb命令。当在命令行执行程序相关命令的时候,程序尝试连接到主机上的ADB服务器,如果找不到ADB服务器,程序自动启动一个ADB服务器。ADB服务器启动之后会和手机设备的adbd后台服务进程建立连接后。adb client就可以向ADB servcer发送服务请求;ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口监听设备的连接和拔除。 阅读详情

相关推荐

adb操作命令详解及大全

adb操作命令详解及大全,adb操作命令详解及大全,adb操作命令详解及大全

Android中常用的adb shell命令

注意事项:这里写的命令,网页会重新编辑格式,比如我写了两个减号,发布后变成了一个减号;如果我说的命令不能正确执行,请手动输入命令,切记切换英文状态。 android 常用shell命令记录下来备忘设置adb环境变量其实就是将adb.exe的路径放到Path中,目的是cmd直接可以使用adb命令 比如我的adb.exe路径G:\tools\adt-bundle\sdk\platform-tools...

codehxy的专栏 14万+

嵌入式开发必看:STM32 DMA双缓冲配置全攻略(含CubeMX教程)

本文详细解析了STM32 DMA双缓冲机制的原理与优势,并提供了基于CubeMX的完整配置教程。通过硬件自动切换两个缓冲区,实现DMA传输与CPU处理的真正并行,有效降低中断频率,提升高速数据采集、音频流处理等场景下的系统效率和实时性。

weixin_29212429的博客 173

Linux中find命令的使用及参数

find / -name 文件名:表示按名称在/下搜索文件 find / -user 用户名 :表示按用户名在/下搜索文件 find /root -not -user 用户名:表示在/root查找不是这个用户名的文件 find / -group 组名:表示按用户组在/下搜索文件 find /root -type 文件类型:表示在/root按文件类型查找文件 find /root -perm 权限 :表示在/root下按权限查找文件 find / -perm 111:表示在/下查找权限是111的文件

qq_47656380的博客 1621

APM 飞行模式切换--源码详解

APM飞控中有很多种方式可以改变飞行模式。其中最常见的为遥控器切换和地面站切换两种方式。 下面以遥控器切换为例详解飞行模式切换逻辑。 APM遥控器切换飞行模式的源代码在RC_Channel.cpp文件中的RC_Channel_Copter::do_aux_function_change_mode()函数中。 const bool success = copter.set_mode()调用Copter::set_mode()函数,在set_mode()函数中调用mode_fro...

qq_30623591的博客 2440

BLHeli_S电调刷Bluejay固件实战:解锁双向DShot与RPM滤波全攻略

本文详细介绍了如何为BLHeli_S电调刷写开源Bluejay固件,以解锁双向DShot协议与RPM滤波等关键功能。内容涵盖硬件兼容性检查、固件刷写全流程、双向DShot启用与OSD报错解决方案,并对48kHz与96kHz PWM频率的选择提供了实战建议,帮助穿越机玩家在不更换硬件的前提下显著提升飞行性能与操控体验。

weixin_29188997的博客 512

Android ADB 命令及源码编译命令笔记

ADB 常用命令adb root:获取root 权限adb remount:重新挂载adb shell :进入terminaladb devices -s serialnumber :查看指定设备状态adb devices 获取设备列表及设备状态adb kill-serveradb start-serveradb logcat , 打印 Android 的系统日志adb install -r ap...

qq_26366149的博客 1687

在x86机器上运行jailhouse

jailhouse jaihouse提供了一个demo ,https://github.com/siemens/jailhouse-images可以用于编译一整套可用的demo。 适用于多个平台。编译过程主要参考https://blog.youkuaiyun.com/weixin_39541632/article/details/110422345 此demo可以生成多个平台所用的操作系统image。 ...

闲人的专栏 3005

Android adb 命令大全

什么是adb Android Debug Bridge (adb) 是一种功能多样的命令行工具,可让我们与设备进行通信。通过 adb 命令我们可以在设备上执行多种操作,例如安装应用、调试应用等,并且 adb 提供了对 Unix shell 的访问,我们可以使用 Unix shell 在设备上运行各种命令。adb 是一个 client-server 程序,包含三个组件: client 负责发送命令。客户端运行在我们的开发计算机上,我们可以通过在命令终端输入 adb 命令来启动一个客户端。 daemon (

sl851938874的博客 622

计算文本相似度的常用算法

NLP、数据挖掘领域中,文本分析是一个很重要的领域,这有助于我们去让计算机理解语言的作用和使用。文本分析是数据挖掘的重要手段,利用文本分析,我们将很快的读取到一本书、一篇文章、一段话中的关键词和核心思想,而文本相似度就是我们用来剔除无用信息或者重复信息的重要手段,让计算机去找文本中的不同。 在生活中,信息检索、数据挖掘、机器翻译、文档复制检测等领域都应用到“文本相似度”。文本不仅仅是文字,文本相似度的应用更广,除了文字的匹配,还可以是图片、音频等,因为它们的实质都是在计算机中都是以二进制的方式存在的。相.

氧小氢的博客 2万+

FortiOS路径遍历漏洞CVE-2022-41328实战复现:从环境搭建到漏洞利用全记录

本文深入解析FortiOS路径遍历漏洞CVE-2022-41328,从漏洞背景、影响范围到技术原理进行全面剖析。提供详细的漏洞复现环境搭建步骤和实战利用方法,并给出官方修复方案与临时缓解措施,帮助企业有效防御此类防火墙漏洞风险。

weixin_30485379的博客 523

安卓开发常用的adb命令

常用adb命令: 1、 查看设备尺寸:adb shell wm size 2、查看设备的屏幕密度DPI:adb shell wm density 3、改变设备屏幕显示尺寸比例:adb shell wm size 1920x720 4、恢复设备屏幕原来的显示尺寸比例:adb shell wm size reset 5、调整设备的日期与时间: ............

菜鸡卡罗特的博客 1万+

YoloV8改进策略:轻量级的CloFormer助力Yolov8在速度和精度上实现双双提升

CloFormer是清华大学在今年发表的轻量级主干网络,引入了AttnConv,一种attention风格的卷积算子。所提出的AttnConv使用共享权重来聚合局部信息,并配置精心设计的上下文感知权重来增强局部特征。AttnConv和普通attention的结合使用池化来减少CloFormer中的FLOPs,使模型能够感知高频和低频信息。这篇文章主要向大家讲解如何将CloFormer加入到YoloV8中。论文链接:https://arxiv.org/abs/2303.17803v5。

m0_47867638的博客 4311

Android开发常用的40个ADB命令,面试安卓卡顿

由于题目很多整理答案的工作量太大,所以仅限于提供知识点,详细的很多问题和参考答案我都整理成了 PDF文件,需要的小伙伴可以私信我【面试】免费领取或者点击GitHub免费获取!频**如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)[外链图片转存中…(img-gqY0Gz2Q-1711168054035)]由于题目很多整理答案的工作量太大,所以仅限于提供知识点,详细的很多问题和参考答案我都整理成了 PDF文件,需要的小伙伴可以私信我【面试】免费领取或者点击GitHub免费获取!

qq_58071132的博客 1044

GEE APP:基于Sentinel-1 SAR数据的洪水检测与制图系统:利用GEE平台实现洪涝区域提取、面积统计及矢量栅格化导出

本文介绍了一个基于Google Earth Engine平台的Sentinel-1 SAR洪水监测应用,通过自动化流程实现洪水淹没区域的精准检测与分析。系统采用Refined Lee滤波降噪和Otsu自适应阈值算法,结合SRTM地形数据消除干扰,可自动计算淹没面积并生成可视化结果。该工具提供用户友好的交互界面,支持多格式数据导出,适用于灾害应急响应、环境监测和城市规划等领域,具有云平台处理、算法鲁棒性强和操作简便等技术优势。

此星光明博客 327

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Android开发中常用ADB命令总结

新媒体管家 点击上方“程序员大咖”,选择“置顶公众号” 关键时刻,第一时间送达! adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 504

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

android开发常用adb命令

android开发常用adb命令 文章目录android开发常用adb命令ADB下载下载手机配置设备相关命令查看设备远程调试重新挂载设备重启设备关机选择设备进入shell常用的shell命令列出文件目录切换查看文件路径删除文件文件查看文件操作从Android系统中拉取文件出来推送文件到android系统中应用场景抓取Log应用启动一个AcitivityADB截图 ADB下载 下载 如果是android开发人员,无需下载,sdk的platform-tools目录下就有。 如果是测试人员,adb下载地址: AD

qq_27840511的博客 2394

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Android开发常用的40个ADB命令

adb shell 后面加将是直接运行设备命令, 相当于执行远程命令6. 从电脑上发送文件到设备。以后就可以方便的用and-screencap > 直接将截图保存到电脑上了其他入门级但也比较常见的adb命令1、查看所有已经连接上的设备。命令格式:adb shell sendevent [device] [type] [code] [value]命令格式:adb shell sendevent [device] [type] [code] [value]

2401_85764651的博客 1268

安卓开发中常用的adb命令

日常开发中有时候会出现eclipse打印不出log或者打印出来了很快就被冲掉了。 现在小编给你介绍一下常用的adb 打印log的命令: 1.打印出指定TAG(MusicActivity)的相关log: adb shell 进入adb命令 adb logcat -s MusicActivity(这样程序一运行就会在cmd界面显示你的log信息) 2.把指定的TAG(MusicActivity

zydu1t130的博客 498

Android 开发常用ADB命令集合

Android开发常用ADB命令: 1. 安装apk adb install -r apk路径(注:-r表示覆盖) 2. 启动应用 adb shell am start -n package_name(包名)/launch_activity(启动Activity名) 3. 查看当前连接设备 adb devices 4. 查看apk包名和类名 方法一:aapt 目录 dump bad...

一条老狗的博客 4808

Android 开发常用 adb 命令

引言 从民生银行离职了有一段时间了,一直在适应新的工作欢迎,现在在做盒子开发了,从手机端直接蹦到了盒子端还真是有点不适应嘞,不过现在感觉好多了,先分享一波自己最近常用的 adb 命令吧,这个东西怎么说呢,说有用就有用,说没用还真没啥用对于做手机端开发的,毕竟做手机端开发只需要连根线,直接一跑软件就完事了,但是对于盒子端,电视端,还是必须要掌握的。 内容 1、as 连接到指定设备 adb connect ip地址 例如 adb connect 10.1.69.236 需要保证 as 与设备在同一网络环境

韩小呆的博客 1265

每天一个安卓测试开发小知识之(三) --- adb shell 以及常用的adb shell命令

每天一个安卓测试开发小知识之 (三) --- adb shell 以及常用的adb shell命令

qq_42213030的博客 569

Android 开发中常用的adb命令

Android开发中常用的adb命令非shell命令adb shell dumpsys activity topadb shell dumpsys packageadb shell dumpsys meminfoadb shell dumpsys dbinfoadb installadb uninstalladb pulladb pushadb shell screencapadb shell s...

qq_37935990的博客 427

android开发常用的ADB命令

先说一下什么是ADB,即Android Debug Bridge,常被用到在开发过程中快速查看手机消息和应用管理,熟练使用ADB命令将会大大提升我们的开发效率查看版本ADB 的安装这里就不多说了,输入以下命令有如下提示就证明你环境 ok,否则自行网上搜索解决下。 adb version Android Debug Bridge version 1.0.36 Revis

微臣 1498

Android开发常用的40个ADB命令,附面试题

有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新。

weixin_58085973的博客 1208
上一篇: 自定义View的实现方法
下一篇: 断点续传和多线程下载(一)
Alone_SLFly
博客等级 码龄12年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值