VisualStudioCode是Google推出的带有GUI的代码编辑器。 它改进了文档视图,建立了对 Markdown 的支持,并添加了 PHP 句子突出显示。 使用该工具的学生可以下载更新。
相关软件 软件大小 版本说明 下载链接
VisualStudioCode是Google推出的带有GUI的代码编辑器。 它改进了文档视图,建立了对 Markdown 的支持,并添加了 PHP 句子突出显示。 使用该工具的学生可以下载更新。
Google 正在努力添加对 VSCode 的插件支持c语言编译器 源码,本次更新还更新了相关文档。
如何使用
(1) 您可以直接单击GUI按钮或右键单击来执行创建新文件和文件夹等操作。 (原来的Sublime在这方面比较差)
(2)直接分离tab并关闭tab
一侧的按钮可以直接分割窗口。 比 Sublime 方便多了。 一侧的 x 可以直接关闭标签。
之后还可以看到两侧有一个黑色的大按钮,可以直接打开文件夹,也是比较炫酷的。 。 这里直接暗示Folder就是项目,不然很多菜鸟不知道如何打开文件、打开Folder等。
(3) 不带插件的代码差异
非常强大的功能,目前找到了两种启动diff功能的方法。
第一个是左边,右键文件selecttocompare,然后右键一个文件Comparewith'xx',就会出现diff。 二是在git模式下c语言编译器 源码,点击右上角的switchtochangesfile启动diff。
然后点击左上角的...按钮,就会出现
然后单击 switchtoInlineView 合并到 tabdiff 中。
更新日志
工作台:引入文件资源管理器和文件图标主题。 VSCode 现在默认有两套图标主题,更多可以在市场上下载。
调试
扩展
虽然早在2016年我就使用ubuntu编译了Android的源码,但当时并没有精耕细作,所以一直没有发表过相关的文章。
过了一段时间,当我想深入了解框架时,我没有设备安装Linux系统,因为我仍然使用Macos笔记本电脑进行开发。
不过浏览AndroidDeveloper官网后发现Macos现在只能编译Android源代码了,这真是一个很大的惊喜!
所以如果你也有学习框架的想法,或者想简单的编译一下源码,那么就继续阅读吧~~~
虽然按照官网给出的流程就可以成功,但是因为我在办理的过程中并不是那么顺利,所以写这篇文章作为给读者的一次旅行。
从规划到工作到编译共分为9个步骤:
第一步,创建区分大小写的C盘镜像
上图是官网的提示操作。 其实不建议自己去c盘工具做。 您只需要使用下面的命令直接在终端中创建即可。
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 200g ~/android.dmg
这样我们就创建了一个大小为200G的c盘镜像文件。 该文件挂载后可以作为Android开发所需格式的存储卷。 为什么这么大? 因为后面的源码和编译需要用到这么大的空间,所以最好规划这么大。
如果您的笔记本存储空间不够大,还可以使用以下命令来调整大小。
hdiutil resize -size g ~/android.dmg.sparseimage
例如
hdiutil resize -size 60g ~/android.dmg.sparseimage
这会将昨天的图像文件大小调整为 60G。
构建完成后,我们先不要急于挂载操作,我们先看一下前面的步骤。
第二步、安装JDK
JDK我们都已经安装好了,所以这一步就省略了。
第三步、安装xcode
去官网安装对应的xcode版本,我的笔记本系统是10.14
安装了xcode11.3.1
还安装了11.3版本的xcode命令行工具。
第四步、安装MacPorts
通过 macports.org 安装 MacPorts。
需要注意的是,我的笔记本电脑进入安装过程时速度非常慢。 不知道是不是一样的。 如果您的安装也很慢,请稍等一下。 我等了大约5分钟
安装后,更改~/.bash_profile配置文件
将要
export PATH=/opt/local/bin:$PATH
添加到配置文件~/.bash_profile。
步骤5.通过MacPorts获取Make、Git和GPG包
只需使用以下命令
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
同样,安装过程还是很慢,这主要和获取包的速度有关。 这一步我等了几十分钟...
但要有耐心,最终会成功的。
步骤6.设置文件描述符数量上限
在 MacOS 上,同时打开的文件描述符数量的默认上限太低,在高度并行的编译过程中可能会被超出。
要增加此限制,请将以下行添加到 ~/.bash_profile:
ulimit -S -n 1024
这样,我们将“默认可同时打开的文件描述符数量上限”调整为1024。
第七步,准备源码
①安装仓库
首先确保你的主目录下有一个 bin/ 目录,并且该目录包含在路径中
mkdir ~/binPATH=~/bin:$PATH
然后下载 Repo 工具并确保它是可执行的:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo
②初始化Repo客户端
创建一个空目录来存储工作文件。 WORKING_DIRECTORY 自己定义的名称
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
之后配置git信息
git config --global user.name "Your Name"git config --global user.email "you@example.com"
最后,初始化Repo
repo init -u https://android.googlesource.com/platform/manifest
如果报repo:commandnotfound问题,那么执行以下命令即可
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc export PATH=$PATH:$HOME/bin
可惜这一步走得并不顺利……
这时候我们就只能通过“镜像”来解决了。 这里我们使用“清华镜像”。 整个镜像的大小约为80G,所以我们必须在笔记本的剩余空间中腾出更多的空间……或者使用外接联通硬盘。
继续下载,于是开始了漫长的等待……
功夫不负有心人,终于下载结束了。
但下一步就是查看笔记本CD-ROM的剩余空间。 由于这个压缩版有80G源码编译,解压后会超过100G,所以如果你的笔记本剩余空间不超过100G,建议放这个源码包。 联通硬盘上,然后从联通硬盘上解压。
解压
解压完成后,我们会得到一个.repo文件夹
之后我们同步源码
repo sync
同步时间很长。 我的笔记本已经同步了大约25分钟,这样我们的Android源代码就准备好了。 同步完成后的aosp结构如下
第八步,准备编译
①下载并预览二补码文件
下载后解压得到
②然后运行这个sh文件
sh 文件名.sh
需要看合同
安装完成
③ 安装完成后,会在执行su命令的目录下创建vendor文件夹
将该文件夹复制到源码根目录源码编译,即aosp目录下。
④ 然后执行
make -f Makefile clobber
防止上一个构建干扰下一个构建。
第九步,开始编译
① 首先初始化环境
source build/envsetup.sh
② 然后使用lunch显示要编译的目标
这里我选择24,所以后期可以直接执行lunch24。 注意这里的选择和你所拥有的设备类型有关,因为我没有谷歌兄弟的机器,所以这里随意编译一下。 。
现在我们直接进入下一步:编译阶段
使用make来编译代码。 如果想降低编译速度,可以使用-jN参数来处理并行任务。 例如,我的笔记本有四个核心和四个线程。 编译速度最快可以达到8个线程同时编译,所以可以使用
make -j8
编译。 第一次编译需要很长时间。 建议下午打开笔记本,让他开始编译。 准备吃午饭的时候发现编译完成了……
看到红字出现,我松了一口气,这些天的折腾没有白费!
####构建成功完成(01:04:37(hh:mm:ss))####
这样一来,即使我们的源码编译完成了,在
aosp->out->target->product.run emulator 下有我们要使用的源代码
如果是Linux系统下,可以直接运行emulator命令,将我们编译好的aosp移动到虚拟机中。
Macos 比较费力。 总之,我尝试了各种方法,但最终还是无法将编译好的代码搬到虚拟机上。
这三天我会考虑买个nexus手机或者pixel手机来下载aosp源码。
现在先标记输入流程,手机发货的时候就启动。 也许稍后我会发布一篇后续文章。
将“编译好的代码”刷入真机进程
①插入真实设备
②执行
sudo adb reboot bootloader
让手机重启进入fastboot模式
如果此时手机界面显示
DEVICE_STATE 锁定
所以需要再次执行
fastboot oem unlock
解锁手机
③输入
fastboot flashall -w
刷入我们编译好的“源代码”然后等待。
因为目前还没有真正测试过刷入的过程中是否有异常,这里就不多说了。
如果阅读本文的同学恰好有Nexus手机或者Pixel手机,一定要先搜索一下自己的手机如何恢复原来的系统,然后再进行本文中的省砖操作;
但在编译源码时,首先要选择自己手机支持的源码,然后再进行后续操作。
不然手机变砖后就刷不回来了,就浪费了~~~
这篇文章就到这里了,虽然历时近一周,虽然本身并不难,按照流程一步一步来就可以了,但是下载源码、解压、同步、编译会花费一些时间,所以推迟到明天。
后续有关框架的文章将持续输出,敬请期待!
发表评论