[Android] osx下如何使用SublimeText阅读Android系统源码

简介:

reference to : http://www.jianshu.com/p/c295d2729ecf

 

平时使用Sublimetext都是打开单个文件,这次要导入几万个文件,这在一些ide中称为project。同样在Sublime中也是如此。

1. 创建工程

  Project > Add Folder to Project 选择源码目录即可
这时在窗口左边栏中将出现刚刚添加的文件目录,如果还需要添加其他目录,则重复这一操作即可。

2. 保存工程

  Project > Save Project As
点击保存后Sublime Text将自动生成两个文件:
project_name.sumlime-project:包含工程定义,该文件会被记录到版本控制里。
project_name.sublim-workspace:包含了用户的工程数据,例如打开的文件和修改等,该文件不会被记录到版本控制里。
.sublime-project文件中,你可以定义工程配置。例如你可以定义多个目录路径,或者哪些目录或文件需要排除在外。例如:
以上
.sublime-project文件中定义了两个目录,而“name”标签是该目录在Sublime Text的左边栏中显示的名字。通过定义“name”,你可以将一些长路径或者名字很长的目录以更简洁的名称显示在左边栏中。

3、添加索引

  • 安装Package Control插件
    1.打开控制台
     方法1:View->show console 
     方法2:ctrl+~
    2.输入代码:
    python2.x代码:
    import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
    python3.x代码:
    import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
  • 安装CTags

    1. 首先 Preference -> Browser Packages... 查看是否已经安装了CTags Package,如果没有则继续下面步骤
    2. Preference -> Package control, 输入“install package”,它会找出你可以安装的插件,在列表中选择ctag插件进行安装

    3.创建索引


屏幕快照 2017-03-22 下午2.55.23.png

4、异常处理

  • 期间出现Package Control:There are no packages available for installation弹窗提示
    选择Preference->Browser Packages打开文件夹后
    删除Package Control目录、删除User目录下相关Package Control名称文件等,再次安装。
  • ctag rebuild时弹窗异常如图:

屏幕快照 2017-03-22 下午3.01.14.png


这是因为我们还没有安装和配置ctags
下载ctags-5.8.tar.gz解压并编译,依次执行如下命令:
tar xzvf ctags-5.8.tar.gz
cd ctags-5.8
./configure
make
sudo make install
打开Preference ->Package settings->ctags->settings-user和settings-default
把default中的配置全部复制到user中,然后改一下command配置项,为ctags的可执行文件路径/usr/local/bin/ctags(可以通过which ctags命令查看ctags路径)

5、快捷键

  • 修改跳转
    默认函数跳转:Ctrl+shift+左键; 跳转返回:Ctrl+shift+右键。修改方法:
    Perference->Package Settings->CTags->Mouse Binding Default->复制到Mouse Binding User,把里面的"ctrl+shift",修改为“command”,这样就可以用“command+左键”跳转了:
          Command+P:查找文件
          Command+R:查找方法
          Command+左键:文件或函数跳转        
          Command+右键:返回文件或函数跳转的原始位置
    至此Android源码项目创建完成并创建索引,代码跳转也反应迅速。


作者:Jenson_
链接:http://www.jianshu.com/p/c295d2729ecf
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
分类:  Android Pro
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/7523724.html如需转载请自行联系原作者

demoblog
相关文章
|
10天前
|
Android开发
基于android-11.0.0_r39,系统应用的手动签名方法和过程
本文介绍了基于Android 11.0.0_r39版本进行系统应用手动签名的方法和解决签名过程中遇到的错误,包括处理`no conscrypt_openjdk_jni-linux-x86_64`和`RegisterNatives failed`的问题。
53 2
|
10天前
|
Ubuntu 开发工具 Android开发
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
本文介绍了在基于Ubuntu 22.04的环境下配置Python 3.9、安装repo工具、下载和同步AOSP源码包以及处理repo同步错误的详细步骤。
39 0
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
|
9天前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
22 0
|
3天前
|
Android开发 UED 开发者
Android经典实战之WindowManager和创建系统悬浮窗
本文详细介绍了Android系统服务`WindowManager`,包括其主要功能和工作原理,并提供了创建系统悬浮窗的完整步骤。通过示例代码,展示了如何添加权限、请求权限、实现悬浮窗口及最佳实践,帮助开发者轻松掌握悬浮窗开发技巧。
11 1
|
10天前
|
开发工具 git 索引
repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
本文描述了在更新AOSP 12源码时遇到的repo同步错误,并提供了通过手动git pull更新repo工具来解决这一问题的方法。
31 1
|
10天前
|
Java 物联网 Android开发
移动应用与系统:技术演进与未来展望探索安卓应用开发:从新手到专家的旅程
【8月更文挑战第28天】本文将深入探讨移动应用开发的技术演进、移动操作系统的发展历程以及未来的发展趋势。我们将通过实例和代码示例,展示如何利用最新的技术和工具来开发高效、可靠的移动应用。无论你是初学者还是经验丰富的开发者,这篇文章都将为你提供有价值的信息和见解。 【8月更文挑战第28天】在这个数字时代,掌握安卓应用的开发技能不仅是技术人员的追求,也成为了许多人实现创意和梦想的途径。本文将通过深入浅出的方式,带领读者从零基础开始,一步步走进安卓开发的奇妙世界。我们将探讨如何配置开发环境,理解安卓应用的核心组件,以及如何通过实际编码来构建一个功能完整的应用。无论你是编程新手还是希望提升自己的开发者
|
10天前
|
Android开发 Docker 容器
docker中编译android aosp源码,出现Build sandboxing disabled due to nsjail error
在使用Docker编译Android AOSP源码时,如果遇到"Build sandboxing disabled due to nsjail error"的错误,可以通过在docker run命令中添加`--privileged`参数来解决权限不足的问题。
14 1
|
10天前
|
开发工具 uml git
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
本文分享了下载AOSP源码的方法,包括如何使用repo工具和处理常见的repo sync错误,以及配置Python环境以确保顺利同步特定版本的AOSP代码。
105 0
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
|
10天前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
21 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
10天前
|
Android开发
我的Android 进阶修炼(1): AOSP源码根目录结构
本文介绍了AOSP源码的根目录结构,提供了基于MTK9269 Android 9.0源码的目录说明,帮助读者了解AOSP源码的组织方式和各目录的功能。
22 0
我的Android 进阶修炼(1): AOSP源码根目录结构