背景:近期工作发生变动,开发环境由windows转向了mac,此前对mac了解甚少,在此记录下配置开发环境的过程,并分享一些高效的工具。
一. 配置Java环境
虽说Android Studio自带了JDK但是OpenJDK还是和JDK有些差异的 为了以后不出现莫名其妙的错误,建议更新使用JDK(Oracle公司开发的)
1.首先下载安装JDK
下载地址http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,选择MacOS版本 并且安装,傻瓜式下一步)安装完成之后打开 终端Terminal,执行命令:java -version 即可查看到我们所安装的jdk版本
2.配置JDK环境
/usr/libexec/java_home -v
就可以查看到真实的jdk路径
一般为 /Library/Java/JavaVirtualMachines/jdk版本.jdk/Contents/Home/
例如我这边是(稍后都会采用这个地址,若不一致,需要更换成你自己的版本):
/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/
- 2.使用vi编辑配置文件:sudo vi /etc/profile
输入i 进入编辑界面,然后把光标移动到最下面 添加以下配置
#JAVA环境变量的配置
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home"
CLASS_PATH="$JAVA_HOME/lib"
#把java环境添加到环境变量PATH中
PATH=".;$PATH:$JAVA_HOME/bin"
然后 按下esc退出编辑模式,输入 :wq! 保存并且退出
- 3.再使用命令 source /etc/profile 更新文件,使之生效。此时可以使用 echo PATH查看环境变量
3.在AndroidStudio中设置使用JDK
在AndroidStudio 的Welcome to Android Studio界面(项目选择界面)
点击右下角configure->project default->project structure
- 去掉 Use embedded JDK (recommended) 的勾选
这时就选上我们设置的Java_home
- 若此时提示没有JDK也不要紧 可以手动指定
- 这时只要将jdk得路径拷贝进去就可以 例如
/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
然后点击Apply 在点击确定就完成了Android Studio JDK的配置
二.配置adb变量
这个是为了方便在Studio中直接执行adb的命令,例如连接无线的测试设备(不使用adb的童鞋可以跳过这段)
cd $HOME
输入下行命令获取当前文件列表:
ls -al
查看文件列表,
如果有.bash_profile文件,请跳过 2. 直接看 3.
如果没有看看到 .bash_profile文件 ,执行以下命令新建:
touch .bash.profile
open -e .bash.profile
打开文件后,添加sdk的安装路径,如果你是安装的Android Studio而且没有手动去变换路径的话,直接复制下面两行命令后将用户名改为自己电脑的即可。如果自己修改了路径,则找到/Android/sdk/platform-tools和/Android/sdk/tools的路径,替换即可。
export PATH=${PATH}:/Users/用户名/Library/Android/sdk/platform-tools
export PATH=${PATH}:/Users/用户名/Library/Android/sdk/tools
source .bash.profile
- 5 . 执行adb version查看结果
显示adb版本号即为设置成功 如下
Android Debug Bridge version 1.0.36
Revision 8f855a3d9b35-android
附录常用的adb命令
//连接一台台同局域网下设备ip为192.168.0.123,端口号为5555的设备
adb connect 192.168.0.123:5555
// 获取设备列表及设备状态
adb devices
// 获取设备的连接状态
adb get-state
//开启adb服务和关闭adb服务
adb kill-server
adb start-server
//安装一个apk
adb install xxx.apk //xxx.apk 需要为绝对路径,实际操作中直接将apk拖到终端中即可。
//重新安装此apk,但是保留原有的数据和缓存文件
adb install -r xxx.apk
//卸载apk(-k表示保留数据和缓存文件)
adb uninstall (-k)
//强制停止应用
adb shell am force-stop
//清除应用数据和缓存
adb shell pm clear
//获取序列号
adb get-serialno
//查看设备型号
adb shell getprop ro.product.model
//查看Android系统版本
adb shell getprop ro.build.version.release
//查看屏幕密度
adb shell wm density
//查看屏幕分辨率
adb shell wm size
//adb pull 拷出文件
adb pull sdcard/simple.txt e:\
adb pull sdcard/simple.txt e:\rename.txt 重命名文件名
//adb push 拷入文件
adb push d:\nice.txt sdcard/ 拷贝本地文件到手机sd卡
高效开发工具推荐
随时记下闪现的灵感
人的一天中大脑会产生大约6万个想法, 其中有不少优秀的 idea. 如果我们能学会捕捉哪怕是部分灵感, 也将会收获巨大. 因此工作中需要及时地记下闪现的灵感, 以方便闲暇时温故而知新. 这里推荐两个笔记应用: ① Evernote ② OneNote . (注: Evernote速记快捷键Control+Command+N)
Markdown编辑器
目前可供选择的markdown编辑器非常之多,至少以下有六种:
- Typora, 简洁轻便免费, 独有的所见即所得, 可在预览状态下编辑, 快捷键丰富, 脚本高亮功能出彩, 导出为pdf后, 排版同样正常, 这点非常难得, 笔者使用的就是该款.
- Ulysses, 功能强大, 快捷键丰富, 支持目录导入, 支持多终端同步.
- MWeb Lite, MWeb的微型版, 不收费, 支持目录导入.
- macdown, 基于mou开发, 轻量, 不支持目录导入.
- mou 历史悠久, 据说有少量的bug, 具体请参考 Mac 下两款 Markdown 编辑器 Mou/MacDown 大 PK - 简书 .
- markeditor, 注重视觉感受, 界面不错, 但运行较慢.
以上, 推荐开发使用 Typora, 产品等使用 Ulysses.
Mac重度依赖者
开发工具
- Charles 网络抓包应用, mac必备.
- aText 输入增强应用, 比
TextExpander
要人性化许多,并且对中文和第三方输入法的支持都要更好.
- Dash mac上api集合应用, 几乎包含各种语言的api文档.
- SnippetsLab 优秀的代码片段管理工具, 轻量, 可基于菜单栏操作.
- CodeExpander 专为开发者开发的一个集输入增强、代码片段管理(支持 Markdown)为一体跨平台云同步的开发工具。
效率提升
- Alfred 3 神奇的魔法帽, 支持 ① 快速打开application; ② 支持Finder, Calculator, Contacts, Clipboard, iTunes, System, Terminal 等原生应用的各种便捷功能; ③ 支持workflow(工作流)(需要升级为收费版的Powerpack).
- iterm2 增强版的终端应用, 功能强大, 支持分屏, 历史记录, 选中即复制等.
- Sip 全屏取色应用, 支持快捷键调出(前端福音, 寻找多年, 终于发掘出来了).
- Keka 压缩或解压缩应用, 开源免费, 压缩比高, 操作便捷, 支持rar等解压, 压缩中文目录后, 在windows下打开不会存在乱码等现象.
- ezip 专为macOS而设计的压缩软件, 功能强大, 预览、提取功能特别好用, 永久免费.
- Scroll Reverser mac滚动方向自定义应用, 可分别设置鼠标和触摸板的上下左右的滚动效果.
- Size up 分屏应用, 类似Moon的一款应用, 支持上下左右居中、4个角落快速分屏及多屏幕切换.
- Divvy 另一款分屏应用, 可将屏幕分成多宫格的形式, 然后为每个格子定义快捷键, 遗憾的是不支持多屏幕切换.
- Graphviz 贝尔实验室开发的有向图/无向图自动布局应用, 支持dot脚本绘制结构图, 流程图等. 可参考教程 利用Graphviz 画结构图 及 使用graphviz绘制流程图 .
- XMind 思维导图应用, 适合业务及思路梳理.
- iThoughtsX 另一款思维导图应用, 更加简洁和轻量.
- Pomodoro One 番茄工作法的一款应用.
- Recess规范时间的软件
博主必备
- ScreenFlow 这或许是mac上最好用的屏幕录制应用.
- Snipaste或许是最好的截图软件
- Annotate 屏幕截图批注应用, 令人惊喜的是, 支持划区域gif制作, 教程以及动图制作者必备.
- Licecap mac上超强大的且极简的gif录制应用, 使用免费, 支持FPS帧率调整且无录制时间限制(笔者用它录制了很多gif动图).
- KeyCastr 将mac按键显示在屏幕上,分享演示、录制视频或动图时超赞.
Mac定制化
- Bartender 3 菜单栏管理应用, 支持隐藏所有菜单栏图标, 还您一个干净的菜单栏.
- Dozer 隐藏菜单栏项目,功能类似Bartender但是开源免费
- CDock 任务栏定制应用, 可设置Dock全透明, 还您一个清爽的任务栏.
- TextBar 自定义菜单栏输出, 支持script运行, 支持H5渲染.
- Growl 自定义通知样式, 支持多种主题以及颜色, 大小, 渐隐时间等各项参数的自定义.
- Karabiner 键盘映射修改神器.
- Magnet窗口管理工具,提升工作效率
- Keyboard Maestro 键盘大师, mac下功能最为丰富的键盘增强应用.
- BetterTouchTool mac触摸板增强神器.
- Übersicht 华丽的桌面自定义应用, 类似于windows的
rainmeter
. 支持H5.
- Today Scripts 个性化通知栏插件, 支持bash脚本.
- Mountain Tweaks mac隐藏功能开启应用.
折腾党玩转Mac
- TripMode 移动热点流量管家, 出差达人的福音.
- Caffeine 点亮mac, 避免长时间演示ppt而进入到休眠状态.
- Tickeys 键盘打字风格模拟应用, 支持 Cherry轴等多种风格.
- keycue 快捷键辅助应用, 帮助记忆快捷键.
- AirServer IOS连接mac必备.
- Beyond Compare 文件比较应用, 支持文件, 目录, FTP远程地址比较等.
- Debookee 网络抓包及数据分析应用.
- EasyFind 小而强大的文件搜索应用, 媲美windows下的Everything.
- FileZilla 免费开源的FTP应用.
- OmniDiskSweeper 硬盘空间扫描应用, 帮助mac减肥.
- Kaleidoscope 文件和图像比较应用, 支持图片比较, 能与 git, svn 等版本控制工具完美结合.
- AppCleaner mac应用卸载工具, 结合
AppCleaner
的workflow, 使用效果更佳.
- TeamViewer 远程开发或协助必备应用.
- Script Debugger 强大的AppleScript编辑器.
- Reeder 界面优美的RSS订阅应用.
- HyperSwitch 带有预览图的快速切换, 作用同Command+Tab.
- Fruit Juice 电池管理应用, 帮助延迟电池的使用时间.
终端命令
-
ohmyzsh shell有很多种, 常用的bash就是之一. 而zsh是shell中目前最强大的, 没有之一. ohmyzsh屏蔽了zsh复杂的配置, 真正达到了一键上手zsh的目的.
# Mac下自动安装&设置
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
# 设置 shell 默认使用 zsh
chsh -s /bin/zsh
#在 dock 栏右键退出终端, 然后重启终端~安装完成
-
autojump 支持快速跳转到曾经打开过的目录下,安装方法: brew install autojump .
-
tmux 终端复用工具, 支持在终端中创建不依赖于终端的窗口, 安装方法: brew install tmux. 使用请参考:Tmux使用手册.
Chrome Extension篇
- 谷粒Chrome插件英雄榜 chrome优秀插件合集
自制
- Iheader 监听和修改http/https请求/响应头,可用于渗透测试(笔者修改请求头用于跨域调试,特别好用)。
- Qrcode URL生成二维码,如果网页中包含选中文本,则生成选中文本的二维码。
前端有关
- whistle node实现的抓包工具,配合chrome扩展,可基于chrome完成抓包,代理,甚至可基于js生成mock数据,完全可替代charles。
- YSlow 雅虎性能分析工具.
- FE助手 百度推出的前端助手, 具有很多便捷的小功能.
- Postman 接口调试工具, 几乎支持所有类型的http(s)请求.
- EditThisCookie cookie编辑工具, 可用于获取或设置http only等cookie的值.
- JSONView json预览工具, 接口调试必备.
- Page Ruler 页面尺子, 页面重构或者严格按照设计图开发页面时, 将会非常有用.
- Alexa Traffic Rank 网站Alexa排名查看工具.
- React Developer Tools React开发者工具.
- Redux DevTools Redux开发者工具.
工作效率有关
- OneTab 快速关闭并存储浏览器当前窗口所有Tab页, 可用于下次一键全部恢复.
- Merge Windows 合并所有浏览器窗口为同一个窗口.
- Vimium 键盘党必备, 使用vim命令管理页面.
- Vysor mac上直接操作 Android 手机, 且可远程共享手机操作界面.
网站有关
- Octotree Github重度依赖者必备, 提供左侧边栏, 快速浏览仓库内容.
- AdBlock 超强去广告工具, 最受欢迎的Chrome扩展, 拥有超过4000万用户.
- 阅读模式 快速开启阅读模式, 进入沉浸式阅读, 并非支持所有网页.
- Blipshot 全网页截图工具, 支持自动垂直滚动, 截取网页的所有内容为一张图片.
有其他问题或者技术困惑的伙伴,可以加群交流(备注技术交流)