copyFile-Android项目编译copy

语言类:

《深度探索C++对象模型》,对应的英文版是《Inside C+++ Object Model》

程序编译、链接、加载类:

《链接器和加载器》,对应的英文版是《Linker and Loader》

《程序员的自我修养:链接、装载和库》

操作系统类:

《Linux内核设计与实现》,对应的英文版是《Linux Kernel Development》

《深入理解Linux内核》,对应的英文版是《Understanding the Linux Kernel》

《深入Linux内核架构》,对应的英文版是《Professional Linux Kernel Architecture》

《Linux内核源代码情景分析》

网络类:

《Linux网络体系结构:Linux内核中网络协议的设计与实现》,对应的英文版是《The Linux Networking Architecture: Design and Implementation of Network Protocols in the Linux Kernel》

《深入理解LINUX网络技术内幕》,对应的英文版是《 Understanding Linux Network Internals》

设备驱动类:

《Linux设备驱动程序》,对应的英文版是《Linux Device Drivers》
《精通Linux设备驱动程序开发》,对应的英文版是《Essential Linux Device Drivers》

虚拟机类:

《Java SE 7虚拟机规范》
《深入Java虚拟机》,对应的英文版是《Inside the Java Virtual Machine》
《Oracle JRockit: The Definitive Guide》

嵌入式类:

《嵌入式Linux开发》,对应的英文版是《Embedded Linux Primer》
《构建嵌入式Linux系统》,对应的英文版是《Building Embedded Linux Systems》

ARM体系架构类:

《ARM嵌入式系统开发:软件设计与优化》,对应的英文版是《ARM System Developer’s Guide: Designing and Optimizing System Software》

综合类:

《深入理解计算机系统》,对应的英文版是《Computer Systems: A Programmer’s Perspective》

// 放弃单个文件修改,注意不要忘记中间的"–",不写就成了检出分支了!
git checkout – filepathname
// 放弃所有的文件修改
git checkout .

一、adb启动activity:
$ adb shell
$ am start -n {包(package)名}/{包名}.{活动(activity)名称}
如:启动浏览器

am start -n com.android.browser/com.android.browser.BrowserActivity

二、adb启动service:
$ adb shell
$ am startservice -n {包(package)名}/{包名}.{服务(service)名称}
如:启动自己应用中一个service

am startservice -n com.android.traffic/com.android.traffic.maniservice

三、adb发送broadcast:
$ adb shell
$ am broadcast -a <广播动作>
如:发送一个网络变化的广播

am broadcast -a android.net.conn.CONNECTIVITY_CHANGE

shell命令基础 Linux

mk -shell语法 复制文件
#拷贝文件到指定目录并可重命名文件,指定的目录不存在的会自动创建,拷贝文件只能一个个调用

TWW_PLATFORM=tww
define product_copy_files
$(shell  mkdir -p  out/target/product/$(TWW_PLATFORM)/$(2) ; \cp  -f $(1)  out/target/product/$(TWW_PLATFORM)/$(2)/$(3) ;)
endef

#可卸载app包名声明,参数为APP包名

define addpkgname_to_sysfile
$(shell grep -wxq $(1) vendor/mediatek/proprietary/frameworks/base/data/etc/pms_sysapp_removable_vendor_list.txt ; \if [ $$? -ne 0 ];then  sed -i '$$a\'$(1)'' vendor/mediatek/proprietary/frameworks/base/data/etc/pms_sysapp_removable_vendor_list.txt ; fi)
endef

#拷贝文件到指定目录,不改变原来文件名称,可批量拷贝

define copy_libs_to_system
$(shell  mkdir -p  out/target/product/$(TWW_PLATFORM)/$(2) ; \cp  -rf $(1)  out/target/product/$(TWW_PLATFORM)/$(2)/  ;)
endef
#调用
$(call xy_copy_libs_to_system,xx/xx/xx,system/app)

source build/envsetup.sh && lunch 12 构建环境 编译产品代码为12的系统
./build/envsetup.sh && lunch

mmm +(某apk的路径) 单独编译某个模块

mmm vendor/qcom/qualcomms/proprietary/packages/Video/ 单独编译android.mk的
find ./out/target/product/ -name “GalaVideo*” | xargs rm -rf 寻找删除

列出指定配置表中的所有条目

HWPRA-H:/ $ settings list global

取出指定配置表中指定条目的值

HWPRA-H:/ $ settings get global add_users_when_locked
0

设置(不存在就添加)条目的值

HWPRA-H:/ $ settings put global sms_outgoing_check_max_count 5

adb查看系统服务列表以及检查服务状态

adb shell service list
adb shell service check 服务名

查看解析器:sudo cat /etc/shells

一般来说,我们在写shell脚本的时候,需要指定解析器,否则就使用默认的解析器

shell开始

shell脚本以 #!/bin/bash 开头
cd 进入文件夹
touch **.sh创建脚本文件
echo "#!/bin/bash" >> **.sh
echo "echo 'hello world' >> **.sh
sh **.sh–>编写脚本 输出hello world

ls命令是Linux中最常用的命令之一。ls是list的缩写
命令格式: ls [选项] [文件名] ls **.sh
shell变量

系统变量:$ShELL
$HOMO–>home path is
$PATH–>path is
$PWD–> pwd is
$USER–> user is
自定义变量
a =10
echo $a
shell
Shell脚本-Vim编辑器用法
Linux命令大全
超神之路
Android架构
adb pull /sdcard/Pictures d:\zz\ 将手机文件推送到电脑
adb push 反之

Linux命令 :命令名称、命令参数与命令对象之间要用空格进行分隔,且严格区分大小写字母

命令名称 [命令参数] [命令对象]
参数有长格式和短格式: 参数可以用长格式(完整单词),也可以用短格式(单个字母缩写),两者分别用“–”与“-”作为前缀
实例:man --help (长) man -h(短)

Ctrl+c键:终止命令运行
Ctrl+d键:EOF,键盘输入结束
Ctrl+l:clear ,清屏

常用系统工作命令

echo命令
echo命令用于在终端设备上输出字符串或变量提取后的值,语法格式为:“echo [字符串] [$变量]”
echo tww.com —>该命令会在终端屏幕上显示如下信息:tww.com
echo $SHELL---->拿到变量SHELL的值,输出:/bin/bash

date命令
date -->2021年 07月 30日 星期五 15:28:58 CST
date “+%Y-%m-%d %H:%M:%S” -->2020-09-05 09:14:35

timedatectl命令
timedatectl命令用于设置系统的时间,英文全称为:“time date control”,语法格式为:“ timedatectl [参数]”。
timedatectl命令中的参数以及作用
参数 作用
status 显示状态信息
list-timezones 列出已知时区
set-time 设置系统时间
set-timezone 设置生效时区

reboot命令
reboot 重启系统,最好是管理员执行
poweroff命令
同上,关闭系统。

wget命令
wget命令用于在终端命令行里下载网络文件,英文全称为:“web get”,语法格式为:“wget [参数] 网址”。
参数 作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
# wget https://www.linuxprobe.com/docs/LinuxProbe.pdf

目录操作

pwd命令
pwd命令用于显示用户当前所处的工作目录,英文全称为:“print working directory”,输入后回车执行即可。
pwd–> /etc
cd命令
cd命令用于切换当前的工作路径,英文全称为:“change directory”,语法格式为:“cd [参数] [目录]"
“cd -”命令返回到上一次所处的目录,使用“cd…”命令进入上级目录,以及使用“cd ~”命令切换到当前用户的家目录,亦或使用“cd ~username”切换到其他用户的家目录,就像在游戏中使用了“回城”技能那样。例如,切换进/etc目录中:cd /etc

ls命令
ls命令用于显示目录中的文件信息,英文全称为:“list”,语法格式为:“ls [参数] [文件名称]”。
使用ls命令的“-a”参数看到全部文件(包括隐藏文件),使用“-l”参数可以查看文件的属性、大小等详细信息。将这两个参数整合之后,再执行ls命令即可查看当前目录中的所有文件并输出这些文件的属性信息
list -al---->查看当前目录中的所有文件并输出这些文件的属性信息

tree命令
tree命令用于以树状图的形式列出目录内容及结构,输入后回车执行即可

find命令
find命令用于按照指定条件来查找文件所对应的位置,语法格式为:“find [查找范围] 寻找条件”。
参数 作用
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件

locate命令
locate命令用于按照名称快速搜索文件所对应的位置,语法格式为:“locate 文件名称”。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LxwMpA3N-1629452442587)(_v_images/20210730154810620_13706.png)]

文本文件编辑命令

cat命令 和 more命令
cat命令用于查看纯文本文件(内容较少的) 语法格式为:“cat [参数] 文件名称”
more命令用于查看纯文本文件(内容较多的),语法格式为:“more [参数] 文件名称”
cat -n tww.doc -->前面有行号 more initial-setup-ks.cfg (查看initial-setup-ks.cfg)
head命令
head命令用于查看纯文本文件的前N行,语法格式为:“head [参数] 文件名称”

文件目录管理命令

touch命令
touch命令用于创建空白文件或设置文件的时间,语法格式为:“touch [参数] 文件名称”
touch a.txt–>a.txt
touch命令中的参数及其作用
参数 作用
-a 仅修改“读取时间”(atime)
-m 仅修改“修改时间”(mtime)
-d 同时修改atime与mtime
touch -d "2020-05-04 15:44" anaconda-ks.cfg

mkdir命令
mkdir命令用于创建空白的目录,英文全称为:“make directory”,语法格式为:“mkdir [参数] 目录名称”。
除了能创建单个空白目录外,mkdir命令还可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录:
mkdir tww–>tww cd tww
mkdir -p a/b/c/d/e

cp命令
p命令用于复制文件或目录,英文全称为:“copy”,语法格式为:“cp [参数] 源文件名称 目标文件名称”。
在Linux系统中,复制操作具体分为3种情况:
如果目标文件是目录,则会把源文件复制到该目录中;
如果目标文件也是普通文件,则会询问是否要覆盖它;
如果目标文件不存在,则执行正常的复制操作。
cp命令中的参数及其作用
参数 作用
-p 保留原始文件的属性
-d 若对象为“链接文件”,则保留该“链接文件”的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(p、d、r为上述参数)
cp a.txt b.txt

mv命令
mv命令用于剪切或重命名文件,英文全称为:“move”,语法格式为:“mv [参数] 源文件名称 目标文件名称”。
[root@linuxprobe ~]# mv x.log linux.log [root@linuxprobe ~]# ls install.log linux.log

rm命令
rm命令用于删除文件或目录,英文全称为:“remove”,语法格式为:“rm [参数] 文件名称”。
rm命令中的参数及其作用
参数 作用
-f 强制执行
-i 删除前询问
-r 删除目录
-v 显示过程
file命令
file命令用于查看文件的类型,语法格式为:“file 文件名称”

tar命令
tar命令用于对文件进行打包压缩或解压,语法格式为:“tar 参数 文件名称”。
参数 作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录

[root@linuxprobe ~]# tar czvf etc.tar.gz /etc
tar: Removing leading `/' from member names
/etc/
/etc/fstab
/etc/crypttab
/etc/mtab
/etc/fonts/
/etc/fonts/conf.d/
/etc/fonts/conf.d/65-0-madan.conf
/etc/fonts/conf.d/59-liberation-sans.conf
/etc/fonts/conf.d/90-ttf-arphic-uming-embolden.conf
/etc/fonts/conf.d/59-liberation-mono.conf
/etc/fonts/conf.d/66-sil-nuosu.conf
………………省略部分压缩过程信息………………
4个最常用的转义字符如下所示。

反斜杠(\):使反斜杠后面的一个变量变为单纯的字符。

单引号(’’):转义其中所有的变量为单纯的字符串。

双引号(""):保留其中的变量属性,不进行转义处理。

反引号(``):把其中的命令执行后返回结果。

Linux系统中的通配符及含义

通配符 含义

  •                         任意字符
    

? 单个任意字符
[a-z] 单个小写字母
[A-Z] 单个大写字母
[a-Z] 单个字母
[0-9] 单个数字
[[:alpha:]] 任意字母
[[:upper:]] 任意大写字母
[[:lower:]] 任意小写字母
[[:digit:]] 所有数字
[[:alnum:]] 任意字母加数字
[[:punct:]] 标点符号

shell命令基础+adb.md相关推荐

  1. Linux shell命令(基础篇)

    命令行: Linux shell命令: ​ pwd:打印当前工作的路径. ​ ls:展示当前目录下的内容. ls -l : 查看某一目录会得到一个7个字段的列表. **七个字段分别对应的含义:**第1 ...

  2. adb android源码分析,Android源码分析(十六)----adb shell 命令进行OTA升级

    一: 进入shell命令界面 adb shell 二:创建目录/cache/recovery mkdir /cache/recovery 如果系统中已有此目录,则会提示已存在. 三: 修改文件夹权限 ...

  3. Android 常用adb shell 命令

    原文地址http://blog.csdn.net/rain_butterfly/article/details/40894807 调试Android程序有时需要adb shell 命令,adb全称An ...

  4. EasyClick adb shell命令大全

    EasyClick adb.shell命令大全目录 EasyClick adb.shell命令大全 ADB包安装步骤 使用教程 ADB高级命令 Android 常用的Linux命令 Android a ...

  5. Android SDK: adb shell 命令的使用(am、pm、wm、screencap、monkey等)

    本文链接: https://blog.csdn.net/xietansheng/article/details/86675136 adb其他命令介绍详见上一篇: Android SDK: adb 常用 ...

  6. [shell][001] [advanced]定制化自己的shell命令

    前言,纯粹的linux下的全屏vim,shell的编辑中,难免要在编辑器外做shell的一些command命令.比如,解压一个文件.可是解压一个文件往往要看文件的类型是什么,tar的时候要查询各种参数 ...

  7. android dumpsys 命令,Android Shell命令dumpsys

    dumpsys命令可以显示手机中所有应用程序的信息,并且也会给出现在手机的状态. 直接执行adb shell dumpsys会显示以下所有信息. SurfaceFlinger, accessibili ...

  8. Appium基础 — adb shell 命令

    使用adb命令的前提是保证手机或者模拟器和电脑是连接状态. 使用adb connect 127.0.0.1:+端口号命令,进行链接. 1.启动和关闭adb服务 在某些情况下,可能需要终止然后再启动服务 ...

  9. adb shell 命令详解,android, adb logcat

    http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android ...

最新文章

  1. HDU 5289 Assignment(单调队列)
  2. backbonejs中的模型篇(三)
  3. UNITY_MATRIX_IT_MV[Matrix]
  4. UOJ #268 BZOJ 4732 [清华集训2016]数据交互 (树链剖分、线段树)
  5. 成大事必备9种能力 9种手段 9种心态(图)
  6. error: Your local changes to the following files would be overwritten by merge:
  7. Vue.js学习系列(九)---使用路由搭建单页应用(二)
  8. 数据集标签_数据分享 | LiDAR点云数据汇总
  9. Head First Java ——我的Java入门书
  10. Unicode字符串和非Unicode字符串
  11. 最新PS2022下载含安装操作步骤
  12. 腾讯产品笔试策划+经验​
  13. go语言swag注解示例
  14. python实战 爬取网易云评论信息
  15. 关于企业邮箱服务器经常被spamhaus反垃圾邮件组织拦截的排错方法分享
  16. 对CentOS服务器上正使用MRTG进行移机操作
  17. 【愚公系列】2021年11月 攻防世界-进阶题-MISC-030(red_green)
  18. 火车售票系统 java_基于jsp的火车售票系统-JavaEE实现火车售票系统 - java项目源码...
  19. Windows CMD 常用命令指示符
  20. 【数据结构和算法】衡量算法的标尺,时间和空间复杂度详解

热门文章

  1. JAVA day07:代码作业(继承)
  2. linux下的证书安装
  3. 华三交换机vlan配置和telnet配置
  4. 【渗透测试】SSH隧道原理
  5. Linux/Centos: shell中的if语句
  6. 重庆市农业学校计算机专业,重庆市属事业单位2017年上半年招聘工作人员职位表-重庆市农业学校...
  7. 命令行连接mysql时出现Authentication plugin ‘caching_sha2_password‘ cannot be loaded: 找不到指定的模块
  8. 李开复:情商、关系和领导力
  9. 抓获利用计算机盗钱包,平板电脑和手机被盗 机智女子通过微信抓获小偷
  10. Beini的6种***模式详解