Android Studio是基于JetBrain的Idea开发的,如果我们想深层次的定制Android Studio最好是基于它的源码,当然了,直接在它上面开发插件也是一个不错的方式。下面介绍一下AS的编译方式。
AS源码下载
mkdir studio-master-dev
cd studio-master-dev
repo init -u https://android.googlesource.com/platform/manifest -b studio-master-dev
repo sync -c -j4 -q
如果翻墙有困难,可以使用清华的源
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b studio-master-dev
编译AS
编译AS有两种方式,一种是通过JetBrain的IntelliJ IDEA Community Edition 编,另外一种是使用命令行编译,命令行的编译方式是基于Ant的构建方式实现的,年纪大点的Android程序员对Ant应该不陌生,在Eclipse开发Android的年代,构建方式就是Ant. 下面我么使用第一种方式编译。
-
导入AS源码
File -> New -> Project from Existing Sources 然后选择/tools/idea/一步步Next
这里需要注意几个问题:
- Idea的Jdk版本要选择AS中自带的版本,目录在prebuilts/studio/jdk/下
- 需要将/lib/tools.jar 添加到classpath
-
编译
导入源码之后 通过Build > Rebuild Project 方式编译。
编译是遇到下面两个问题:
-
com.android.tools.deploy.proto.Deploy
找不到,原因是少两个Jar包
-
但是这两个Jar我在源码中并没有找到,应该是有方式可以生成,推测和basel有关,但是我没有找到解决方式。但这两个包可以在AS的官方包中找到,目录在
android-stuido/plugins/android/lib/
里。将这两个包也添加到classpath下。
-
Error: java: package com.sun.source.tree does not exist 找不到的问题,这个就是tools.jar没有添加的classpath造成的。
运行AS
在Run Configguration中选择Android Studio ,点击 Run,AS就可以正常起来了。
有了源码,就可以干很多事情了。
官方文档
关于我
- 公众号: CodingDev