AS和ADB的随身手册

工欲善其事,必先利其器。

最近因为换了Mac,很多地方有些不太适应,刚好最近有想写一篇记录一些小工具技巧的文章,顺便就把Mac中AS常用的快捷键也一并对应记录起来吧。

以下为Android开发中,比较常用的小技巧,一时间想不起太多,所以先这样,以后有时间持续更新。

IntelliJ Idea常用的快捷键

key xwin mac os x 10.5 + desc
SmartType Ctrl + Shift + 空格 ⌃ + ⇧ + 空格 提示与补全
Show Intention Actions Alt + Enter ⌥ + ↩︎ 显示修改建议
Undo/Redo Ctrl + Z 或 Ctrl+Shift+Z ⌘ + Z 或 ⌘ + ⇧ + Z 撤销/反撤销
Generate... Alt + Insert ⌘ + N 或 ⌃ + ↩︎ 自动生成代码
Override Methods... Ctrl + O ⌃ + O 自动复写方法
Comment Ctrl + Shift + / ⌘ + ⇧ + / 注释与取消
Rename... Shift + F6 ⇧ + F6 重命名相关引用
Optimize Imports Ctrl + Alt + O ⌃ + ⌥ + O 整理导包
Reformat Code Ctrl + Alt + L ⌥ + ⌘ + L 格式化代码
Duplicate Entire Lines Ctrl + D ⌘ + D 复制当前行粘到下一行​
Delete Line Ctrl + Y ⌘ + Back 删除当前行
Find Usages Alt + F7 ⌥ + F7 查看调用的地方
Quick Doc Ctrl + Q F1 查看注释文档
File Structure Ctrl + F12 ⌘ + F12 查看文件代码结构
Class... Ctrl + N ⌘ + O 找类,再按含Non-Project
File... Ctrl + Shift + N ⌘ + ⇧ + O 找文件,再按含Non-Project
Find in Path... Ctrl + Shift + F ⌘ + ⇧ + F 全局搜索
Jump To Source F4 F4 或 ⌘ + Down 跳转到源码
Select Prev/Next Tab Alt + Left|Right ⌃ + Left|Right 历史轨迹跳转
Folding Ctrl + -|Ctrl + = ⌘ + -|⌘ + = 代码折叠

注:

⌘:Command

⌥:Option

⌃:Control

⇧:Shift

⌫:Backspace

↩︎:Enter

Up|Right|Down|Left:方向键

关于代码折叠

AS关于折叠有三种:只折叠当前块(⌘ + -),往下递归折叠(⌘ + ⌥ + -),全部折叠(⌘ + ⇧ + -)。其中由于默认打开了闭包折叠(Editor - General - CodeFolding:Collapase By Default 默认勾了 "Closures"),所以总有部分折叠不起来,笔者是有强迫症的,而且我觉得吧,我都要折叠了你还给我强制留一部分显示???有点不可思议的交互设计~,所以如果你跟我一样,就把这个勾去掉即可。

各种依赖方式比较

Old New Desc
compile api
implementation
其中 api 和 compile 一致,impl无法传递依赖
provided compileOnly 只参与编译,不参与打包
apk runtimeOnly 只参与打包,不参与编译
debugCompile debugImplementation debug包有效
releaseCompile releaseImplementation release包有效
testCompile testImplementation test包有效

常用分析 Analyze:

优化相关:

Inspect Code / Run Inspection by Name...:这个是代码分析,或者说代码扫描。

Infer Nullity:配合@Nullable/@NotNull规避空指针。

Code Cleanup:这个是代码自动优化。

分析认识:

Analyze Dependences...:这些基本都是分析依赖的,从宏观认识新项目。

Analyze Data Flow From/To Here:对某个小模块进行数据流分析,从调用层次认识项目。

定位问题:

Analyze Stack Trace:如果你有一份堆栈信息,这个可以帮你快速跳转。

页面元素分析 Layout Inspector

Tools -> Layout Inspector

截取一个画面后,可以根据画面元素ID找到交互监听,快速定位业务线。

用adb 查看 activity

adb shell dumpsys activity | grep "mFoc"
adb shell dumpsys activity | grep -i run

用adb操作包(安装-查看-启动-停止-卸载)

## 安装
adb install <file>
## 卸载
adb uninstall <package>
## 清空
adb shell pm clear <package>
## 查看包
adb shell pm list packages [-args]
-f: 输出包和关联的apk文件
-i: 输出安装来源
-e "com.google": 过滤
-s:系统包
-3:第三方包
-d/e: 输出禁用和启用的包 ## 根据包名启动:
adb shell monkey -p <package> -c android.intent.category.LAUNCHER 1 ## 根据包名+类名启动:
adb shell am start [-a android.intent.action.MAIN -c android.intent.category.LAUNCHER] -n <package>/<package.class> ## 关闭应用
adb shell am force-stop <package>

用adb进行输入(adb shell input)

# 文本输入:
text <string> (Default: touchscreen)
# 键盘按键:
keyevent [--longpress] <key code number or name> ... (Default: keyboard)
# 触屏点击:
tap <x> <y> (Default: touchscreen)
# 滑动:
swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
# 拖放操作:
draganddrop <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
press (Default: trackball)
roll <dx> <dy> (Default: trackball)

关于KEYCODE可参考:https://blog.csdn.net/feizhixuan46789/article/details/16801429

使用ADB WIFI

要求两个设备必须在同一个局域网(同一IP段)。

第一次连接需要USB

# 查看adb进程相关信息
ps -e|grep "adb" # 以 TCP Mode 重新启动ADB
adb tcpip 5555 # 查看手机IP地址
adb shell ifconfig wlan0 # 连接与断开,其中5555端口是默认端口,disconnect时可以省略
adb connect <手机IP>:5555
adb disconnect <手机IP>[:5555]

附ADB手册:

http://adbshell.com/commands

Android Studio和 adb 的一些常用技巧的更多相关文章

  1. Android Studio 解决ADB检测不到手机导致无法连接的问题

    ADB的全称是Android Debug Bridge,是用来管理模拟器和真机的通用调试工具. 开USB调试 方法:手机设置 - 开发人员选项 - USB调试 - 勾选(开发者调试被隐藏了,在关于手机 ...

  2. Android Studio经常使用配置及使用技巧(二)

    在<Android Studio经常使用配置及使用技巧(一)>中具体描写叙述了Android Studio的project结构和打开开源project的一些配置方法.本篇将从我个人的使用情 ...

  3. android studio 使用adb命令传递文件到android设备

    一:文件传输 在android开发中,有时候需要将文件从pc端传递至android,或者将软件运行的日志,从android设备传递到pc进行分析,我们可以使用windows的cmd窗口,或者andro ...

  4. 填坑实录 Android Studio 利用 ADB WIFI 插件实现真机无线调试

    总是用模拟器,小破本的渣内存无法承受,同时模拟器的版本大多停在4.4,无法体现Android 5.0.6.0 的版本特性,因此决定利用 Android Studio 的插件实现真机无线调试. 步骤如下 ...

  5. 端口被占用:android studio 虚拟机adb.exe已停止工作的处理

    浏览:2190 | 更新:2017-09-16 05:00 1 2 3 4 5 6 分步阅读 在搭建android studio开发环境后,开始编程调试程序时,不管运行虚拟机还是真机,都不停出现&qu ...

  6. android studio 虚拟机adb.exe已停止工作的处理

    在搭建完android studio 后使用虚拟机或真机调试程序,出现如下错误.   在运行里输入cmd,打开命令行工具,使用netstat -aon|findstr 5037查看adb.exe的50 ...

  7. Android Studio中 ADB WIFI插件进行无线调试实践

    首先要确保电脑和手机在同一个局域网中.具体步骤如下 1.Android Studio中安装ADB WIFI插件.安装成功后重启Android Studio.(没有安装过插件的同仁,请自己搜索) 2.手 ...

  8. Android Studio、adb

    Android Studio:一个超级全的教程,mark~ https://www.cnblogs.com/laughingQing/p/5848425.html adb命令: https://blo ...

  9. Android Studio使用adb命令连接平板

    有需要使用adb命令连接调试平板的同学可以参考下(下面是android官方文档,有点老). http://donandroid.com/how-to-install-adb-interface-dri ...

随机推荐

  1. Excel催化剂开源第24波-较VBA更强大的.Net环境的正则表达式

    在VBA上可以调用正则表达式库,从而编写正则表达式自定义函数,这个相信不少VBA开发者已经熟知,但VBA的VBScript正则表达式库毕竟是一个过时的产品,不像.Net那样是与时俱进的,所以两者实现出 ...

  2. Storm 实时读取本地文件操作(模拟分析网络日志)

    WebLogProduct 产生日志类 package top.wintp.weblog; import java.io.FileNotFoundException; import java.io.F ...

  3. 【带着canvas去流浪(13)】用Three.js制作简易的MARVEL片头动画(下)

    目录 一. 模型的制作 1.1 生成字体模型 1.2 多表面贴图 二. 镜头及动画 三. 大作业总结 示例代码托管在:http://www.github.com/dashnowords/blogs 博 ...

  4. window平台下 cmd 命令窗口的编码设置

    在WINDOWS上打开控制台界面,发现默认的编码是GBK,这样有时候写完的代码运行的时候就会出码,基于此,查阅各方资料,终于得出两种方案. 一.临时解决方案(只针对本次会话有效) 1. 打开控制台,输 ...

  5. centOS7 安装mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar

    在虚拟机上安装mysql走了不少弯路,在此备份... 首先感谢下这几篇博客提供的帮助: https://www.cnblogs.com/pythonal/p/6141516.html http://b ...

  6. 如何使用 nvm-windows 管理 nodejs 版本

    写在前边的话: (1). 路径一定不要包含空格,如 Program Files 这样,所以有把程序安装到 D:\Program Files 文件下的同学请注意了:(2). 为了避免 nvm 无法切换源 ...

  7. 【Android Studio】提示代码忽略大小写

    在 Preference... 中找到如下,设置 Case sensitive completion 为 None 即可,如下图: PS: 该截图是 Intellij IDEA (Android St ...

  8. 续集:白菜的内涵,更新nand分区为ubifs,替换overlay

    在上一篇真千兆路由的极限之OPENWRT MAKE, 某品牌白菜价QCA9558/QCA9880/QCA8337N纯种组合OS搭建时记中附带了128M nand的空间图示,在ar71xx profil ...

  9. Redis分布式锁实战

    什么是分布式锁 在单机部署的情况下,要想保证特定业务在顺序执行,通过JDK提供的synchronized关键字.Semaphore.ReentrantLock,或者我们也可以基于AQS定制化锁.单机部 ...

  10. Flask+APScheduler定时任务

    1.安装依赖 pip install flask_apscheduler 2.使用定时任务 ```python from flask import Flask from flask_apschedul ...