android开发者mac(含M1芯片)电脑全新配置2022
在我计划外的,本意想要拒绝M1芯片的,因为做为开发者,有的编译库和软件真的害怕出现兼容问题,编译不过。结果申请下来的意外成了M1 Pro。也罢。尝试一下吧。
搞完以后,一定要重启一下,否则某些应用,没有系统环境!
1. bash&脚本
1.1 zsh切bash
这一部分,纯属个人习惯。外面推荐zsh+o my zsh。百度搜索如何切换。
chsh -s /bin/bash 选择。
chsh -s /bin/zsh
1.1 安装GNU
BSD切为GNU,解决shell脚本因为命令,比如grep,sed, ls都不太对。
部分参考来自https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
第一步,安装brew,国内推荐使用镜像站:
#默认
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#使用镜像站
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"
新
/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"按照提示添加环境变量。(不一定提示如下,不用写)
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/allan/.bash_profile
eval "$(/opt/homebrew/bin/brew shellenv)"
第二步,安装命令:
–with-default-names 现在已经不需要了。
#1.必装
brew install coreutils
#2.必装
brew install binutils
brew install diffutils
brew install findutils
#2.1 个人补充 ctags通过which -a ctags检查和which ctags
brew install ctags-exuberant#3.自己选熟悉的装,不用追加with default names了。
brew install gawk
#brew install gnu-indent --with-default-names
brew install gnu-sed --with-default-names
brew install gnu-tar --with-default-names
#brew install gnu-which --with-default-names
#brew install gnutls
brew install grep --with-default-names
#brew install gzip
#brew install screen
#brew install watch
#brew install wdiff --with-gettext
#brew install wget#mac版本想更新的部分 暂时不建议更新
brew install bash
brew install emacs
brew install gdb # gdb requires further actions to make it work. See `brew info gdb`.
brew install gpatch
brew install less
brew install m4
brew install make
brew install nano#mac版本不是GNU的而是BSD,可以换一下,但是我没执行也建议暂时不用修改
brew install file-formula
brew install git
brew install openssh
brew install perl
brew install python
brew install rsync
brew install svn
brew install unzip
brew install vim --override-system-vi
brew install macvim --override-system-vim --custom-system-icons
brew install zsh
最后追加环境变量如下到bashrc中去:
export ANDROID_HOME=/Users/allan/Library/Android/sdk/platform-tools
export BREW_CORE_HOME=/opt/homebrew/opt/coreutils/libexec/gnubin
export BREW_FIND_HOME=/opt/homebrew/opt/findutils/libexec/gnubin
export BREW_SED_HOME=/opt/homebrew/opt/gnu-sed/libexec/gnubin
export BREW_TAR_HOME=/opt/homebrew/opt/gnu-tar/libexec/gnubin
export BREW_GREP_HOME=/opt/homebrew/opt/grep/libexec/gnubinexport PATH="$ANDROID_HOME:$FFMPEG_HOME:$HOME/bin:$JAVA_HOME:$BREW_GREP_HOME:$BREW_TAR_HOME:$BREW_CORE_HOME:$BREW_SED_HOME:$BREW_FIND_HOME:${PATH}"
2. JDK环境
一般情况我们使用1.8环境。偶尔使用jdk17的时候,切换一下,source下bashrc or zshrc即可。
# oracel JDK17+ 有M1的版本注意下载正确
# jdk1.8 (截止2022.03没有M1版本,网上有zulu 支持1.8最新)
#下载完成后,解压到某个目录。追加环境变量到PATH中。#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home
export JAVA_HOME=/Users/allan/Documents/jdk1.8.0.322aarch64_zulu/zulu-8.jdk/Contents/Home
#export JAVA_HOME=/Users/allan/Documents/jdk-17.0.2.jdk/Contents/Home
export PATH="$JAVA_HOME:xxxxxxxxx:${PATH}"
3. 其他环境&git
- .vimrc,vim/ vim dracula主题
- .vim/下:.netrwhist colors/ doc/ nerdtree_plugin/ plugin/ syntax/
- github上搜索git-bash-completion
- z.lua
- gitconfig
.gitconfig
3. 常用软件和JDK安装环境
软件列表:
Xcode
Xcode command line 开发者推荐某些跨平台端开发必须是使用
VSCode
beyond compare 不会吧不会吧?还有人不认识他
Hex fiend 二进制浏览工具
The unarchiver 解压软件某些rar或者系统自带解压不够强大的时候使用github搜索jadx android、aar、jar反编译
github搜索jd-gui jar浏览器mat 独立的内存泄漏分析工具 http://www.eclipse.org/mat/downloads.phptypora markdown。可以下载最后一个beta版本0.11.18后续需要收费Paste 个人习惯:复制粘贴程序谁用谁知道
搜狗输入法 个人习惯
proguard 个人习惯:混淆工具 一般不用
Dozer 个人习惯:mac状态栏双点收纳
另外,以下软件列表都有M1 chip或者intel chip(芯片)对应版本,准确下载。否则程序慢5-10倍:
android studio
IDEA
microsoft edge浏览器
VLC播放器
4. 字体
https://www.jetbrains.com/lp/mono/
5. terminal
终端颜色配置方案:改名为xxx.terminal双击,然后在terminal使用当前作为默认即可:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>BackgroundColor</key><data>YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVOU1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMSAwLjk0OTAxOTYwNzggMC44ODYyNzQ1MDk4ABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmplY3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAAM4=</data><key>Font</key><data>YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGkCwwVFlUkbnVsbNQNDg8QERITFFZOU1NpemVYTlNmRmxhZ3NWTlNOYW1lViRjbGFzcyNALgAAAAAAABAQgAKAA18QFUpldEJyYWluc01vbm8tUmVndWxhctIXGBkaWiRjbGFzc25hbWVYJGNsYXNzZXNWTlNGb250ohkbWE5TT2JqZWN0CBEaJCkyN0lMUVNYXmdud36FjpCSlKyxvMXMzwAAAAAAAAEBAAAAAAAAABwAAAAAAAAAAAAAAAAAAADY</data><key>FontAntialias</key><true/><key>FontWidthSpacing</key><real>1.004032258064516</real><key>ProfileCurrentVersion</key><real>2.0699999999999998</real><key>SelectionColor</key><data>YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVOU1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC45MDE5NjA3ODQzIDAuNTQ5MDE5NjA3OCAwLjMyMTU2ODYyNzUAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q==</data><key>TextBoldColor</key><data>YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVOU1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAmMC4zMzcyNTQ5MDIgMC40MzUyOTQxMTc2IDAuNDAzOTIxNTY4NgAQAYAC0hQVFhdaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohYYWE5TT2JqZWN0CBEaJCkyN0lMUVNXXWRqd36nqauwu8TMzwAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADY</data><key>WindowTitle</key><string>终端</string><key>columnCount</key><integer>189</integer><key>name</key><string>Basic</string><key>rowCount</key><integer>44</integer><key>type</key><string>Window Settings</string>
</dict>
</plist>
vim配置
if &diffcolorscheme desert
endif"忽略大小写
":set ignorecase
"鼠标提示
"set mouse=a
set showcmd
"自动改变路径
set autochdir
"显示行号
set number
"检测文件的类型
filetype on
"设置当前行
"set cursorline
"记录历史的行数
set history=1000
"自动对齐
set autoindent
set cindent
"智能选择对齐方式
set smartindent
"显示当前路径
set title
"TAB替换为空格
:set ts=4
:set expandtab
set tabstop=4
"是否让tab显示成>.的样式
":set list listchars=tab:>.
"当前行之间交错时使用4个空格
set shiftwidth=4
"设置匹配模式,输入做括号会出现右括号
set showmatch
"编辑时显示光标状态
set ruler
"高亮查找
set hlsearch
"粘贴插入
set paste
"快速匹配
set incsearch
"选择是否自动备份
set nobackup
"set backup
"是否语法高亮
syntax enable
"主题
packadd! dracula
colorscheme dracula"""""""""""""设置开启ctags"""""""""""""
map <F4> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR>
"第一个命令里的分号是必不可少的。这个命令让vim首先在当前目录里寻找tags文件,如果没有找到
set tags=tags;
"""""""""""""""""Taglist设置""""""""""""""""" "映射vim tlist打开/关闭
map <F7> : Tlist<CR> let Tlist_Auto_Open = 1 "在启动VIM后,自动打开taglist窗口 let Tlist_Ctags_Cmd = '/opt/homebrew/bin/ctags' "设定ctags的位置 let Tlist_Use_Right_Window=0 " 1为让窗口显示在右边,0为显示在左边 let Tlist_Show_One_File=1 "让taglist可以同时展示多个文件的函数列表,设置为1时不同时显示>多个文件的tag,只显示当前文件的 let Tlist_File_Fold_Auto_Close=1 "同时显示多个文件中的tag时,taglist只显示当前文件tag,>其他文件的函数列表折叠隐藏 let Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动退出vim "let Tlist_Use_SingleClick= 1 " 缺省情况下,在双击一个tag时,才会跳到该tag定义的位置 "let Tlist_Process_File_Always=0 "是否一直处理tags.1:处理;0:不处理"状态栏
":set statusline=%F%m%r%h%w\[FORMAT=%{&ff}\ [TYPE=%Y]\ [POS=%04l,%04v][%p%%]\[TLEN=%L]]
set statusline=%F%m%r%h%w\ [POS=%04l,%04v][%p%%]\[TLEN=%L]]
set laststatus=2highlight WhitespaceEOL ctermbg=green guibg=red
match WhitespaceEOL /\s\+$/if &diffcolorscheme pablo
endif"状态行显示内容 " %f 只显示名字不显示路径 " %F 当前文件名 " %m 当前文件修改状态 " %r 当前文件是否只读 " %Y 当前文件类型 " %{&fileformat} 当前文件编码 " %b 当前光标处字符的 ASCII 码值 " %B 当前光标处字符的十六进制值 " %l 当前光标行号 " %c 当前光标列号 " %V 当前光标虚拟列号 (根据字符所占字节数计算) " %p 当前行占总行数的百分比 " %% 百分号 " %L 当前文件总行数
" vim中文乱码问题
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
" F12生成此地的tag
"map <F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
"nerdtree
let g:NERDTree_title="[NERDTree]"
"let g:winManagerWindowLayout="NERDTree|TagList"
let g:winManagerWindowLayout="NERDTree"
"let NERDTreeWinPos="right"
let g:winManagerWidth = 15
"wm 默认打开
let g:AutoOpenWinManager = 0
"let g:miniBufExplMapWindowNavVim = 1
"let g:miniBufExplMapWindowNavArrows = 1
"let g:miniBufExplMapCTabSwitchBufs = 1
"let g:miniBufExplModSelTarget = 1
"let g:miniBufExplMoreThanOne=0"打开上次关闭的地方
if has("autocmd")autocmd BufReadPost *\ if line("'\"") > 0 && line("'\"") <= line("$") |\ exe "normal g`\"" |\ endif
endiffunction! NERDTree_Start()exec 'NERDTree'
endfunctionfunction! NERDTree_IsValid()return 1
endfunction
"wm快捷键
nmap wm :WMToggle<CR>
if has("~/bin/cscope")set csprg=/home/zhonglun.jiang/bin/cscopeset csto=0set cstset nocsverb "如果直接写csverb会出现需要按enterset cspc=3"add any database in current dirif filereadable("cscope.out")cs add cscope.out"else search cscope.out elsewhereelselet cscope_file=findfile("cscope.out", ".;")let cscope_pre=matchstr(cscope_file, ".*/")if !empty(cscope_file) && filereadable(cscope_file)exe "cs add" cscope_file cscope_preendif endifset csverb
endiffunction! AutoLoadCTagsAndCScope()let max = 20let dir = './'let i = 0let break = 0while isdirectory(dir) && i < maxif filereadable(dir . 'cscope.out') execute 'cs add ' . dir . 'cscope.out'let break = 1endifif filereadable(dir . 'tags')execute 'set tags =' . dir . 'tags'let break = 1endifif break == 1execute 'lcd ' . dirbreakendiflet dir = dir . '../'let i = i + 1endwhile
endf
"nmap <F9> :call AutoLoadCTagsAndCScope()<CR>
nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-\>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR>
git config文件修改
[user]name = allanemail = xx@xx.com
[diff]tool = bc3
[difftool "bc3"]path = /Applications/Beyond Compare.app/Contents/MacOS/bcomp
[alias]st = statusss = show --stat --stat-name-width=200 --stat-graph-width=5co = checkoutcp = cherry-picklg = log --graphcm = commitbr = branch
[pull]rebase = true
[color]ui = auto
[commit]template = /Users/allan/.commit.template
idea插件:
rainbow brackets
key promoter X
dracula theme
android开发者mac(含M1芯片)电脑全新配置2022相关推荐
- 新MAC苹果M1芯片简要分析(是不是地表最强呢??)
苹果M1芯片 出众的性能,极其优秀的能耗比 强大的软硬件生态助力 总结与展望 在刚刚举行的苹果秋季活动中,苹果对旗下的Mac产品线进行了更新,发布了全新. Pro 13以及Mac mini,三款产品的 ...
- 一文解读苹果 M1 芯片电脑上的开源软件
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 前言 上周五,我们分享了关于苹果最新的 M1 芯片不支持 ...
- m1芯片能装mysql_Apple M1芯片电脑 软件兼容情况
Apple 最近发布了M1 自研 ARM 架构芯片的笔记本电脑以及 Mac Mini,那么这些电脑的软件兼容情况是怎么样,是大多数苹果迷所关注的,这将影响我们是否购买最新的mac电脑. 目前小编引用 ...
- m1芯片电脑的FCPX如何加载LUT预设?
最近很多网友反映,M1芯片电脑使用FCPX导入LUT预设后,找不到文件或者无法加载LUT调色预设,下面教程将为您介绍m1芯片电脑的FCPX如何加载LUT预设,一起看看吧.方法可分为两种,可自行选择. ...
- PD16 for Mac(支持M1芯片)v16.3.2(50531)中文版介绍
PD16虚拟机中文版是mac上最强大也是最好用的虚拟机软件,Parallels Desktop Mac 16 可以显着降低磁盘,内存和CPU使用率,而且针对Windows 10更新进行了优化,更新了超 ...
- MAC新款M1芯片下载安装MySQL
MAC新款M1芯片下载安装MySQL 我的m1下载arm 64的一直安装不上所以我选择下载x86操作系统的:MySQL下载地址:https://dev.mysql.com/downloads/mysq ...
- Mac本M1芯片无法使用Android模拟器的解决方案及android-emulator-m1-preview的安装
前言: 搭建react-native环境时,安卓环境搭建没什么问题,真机调试可以,但是android studio的模拟器始终无法使用.如果芯片是intel芯片,如果有报错一搜索就能找到解决方案.如果 ...
- 后端开发者的M1芯片电脑开发环境搭建
目录 1. JDK 2. IDEA 导入IDEA配置 3. 安装git 4. homebrew 5. 数据库连接工具TablePlus 6. 虚拟机 7. 截图工具iShot 8. 图床工具ipic ...
- M1芯片处理器如何安装adobe全家桶 PR/PS/AE/LR/AU/AI等 解决安装adobe闪退问题 Adobe全部支持MAC苹果 M1芯片处理器
作为一个摄影爱好者,早10年前就一直使用苹果mac系统做修图!也算是个mac忠实粉丝了. 就在11月份,苹果发布了基于Apple Silicon M1 SoC芯片打造新Mac系列产品,全新的M1处理器 ...
最新文章
- php csv,php csv操作类代码
- STM32 进阶教程 20 - 串口+DMA实现OneWire总线
- 如何选择适合自己公司的移动办公系统?
- 基于matlab的数字下变频器的设计与仿真应用,基于MATLAB的数字下变频器的设计与仿真应用.pdf...
- first review of team blog(4.26)
- 工作流实战_21_flowable 加签 任务向前加签 向后加签
- echarts 折线上写数值_前端ECharts数据可视化图表案例与介绍
- leetcode力扣454. 四数相加 II
- [选择性翻译][HDP Ambari 2.2.2安装使用说明][1]
- 让人心烦的TIME_WAIT状态与SO_REUSEADDR选项
- keras中无法用save保存模型的问题
- CSS学习总结(5)——列表/表格/链接/鼠标光标样式
- 用C语言写的爬虫项目
- C语言 IDE的介绍及安装
- 机器学习算法工程师面试考点汇总
- 2020我们一起“只争朝夕,不负韶华”
- 关系型数据库中一对多,多对一,多对多关系(详细)
- 【ArcGIS】道路中心线提取、河道中心线的提取
- 美团智能配送系统的运筹优化实战-笔记
- 【计算机毕业设计】092二手闲置交易市场系统