使用Android Studio查看Android Lollipop源码
来源:互联网 发布:mac终端访问服务器 编辑:程序博客网 时间:2024/06/08 13:42
使用Android Studio查看Android Lollipop源码
Android Studio
作为Google的亲儿子,Nexus手机系列所收到的待遇大家有目共睹.Android5.0出来之后,Nexus5第一时间就升级到了最新的系统.那么作为Google亲儿子的Android Studio同样备受Google的重视,我也是第一时间从Eclipse转投到了Android Studio的怀抱中,从最初的测试版本一路升级到现在的1.0正式版本(今天发布了1.0.2,果断已经升级了),关于Android Studio的好处我就不用说了,下面两点就足矣让你转投Android Studio了:
- Android Studio是Google官方指定的,目前官网已经去掉了ADT, 大家可以在Android开发者官网 中进行查看,目前只有Android Studio提供下载了.
- Google也表示ADT不再进行维护了.
转投Android Studio时大势所趋,网上关于如何使用Android Studio的帖子也是满天飞,所以我就不再啰嗦夸奖Android Studio了.看一下下面的图,估计你就会很有欲望了.想查看详细的内容,可以查看Android Studio官方文档
Android 5.0 : Lollipop
Android Lollipop是Google在今年推出的,关于Lollipop的详细介绍可以查看Lollipop官方介绍 ,我也就不多说了.作为一个开发者,我们不应该停留在表面(即Lollipop的绚丽的界面,和新奇的设计语言Material design),我们更要了解其中的原理.
准备工作
在使用Android Studio查看源码之前,你需要做下面几件事:
- 下载Android Lollipop源码(当然不一定非要是Lollipop源码,其他的版本也是可以的)
- 进行过一次完整编译(不编译是无法进行源码导入工作的)
以上操作可以参考Google 官方教程 以确保万无一失(呵呵).上面的几个链接需要翻墙才可以访问,不过有兴趣看这篇文章的人,大部分应该都是知道VPN的.或者没有VPN不会翻墙的,速度去卖一个VPN,能花钱解决的事情,就不要花时间.
开始
- 进入Android 源码根目录
- 执行
mmm development/tools/idegen/
这行命令的意思是编译idegen这个项目,生成idegen.jar文件.生成成功后,会显示这个jar包的位置,并显示#### make completed successfully (43 seconds) ####
,如果编译失败了,后面会讲到这种情况(比较少见) - 执行
sh ./development/tools/idegen/idegen.sh
这行命令的意思是生成对应的文件:android.iws, android.ipr, android.iml .如果生成失败,后面也会讲到这种情况. - 生成对应的文件后,打开Android Studio,选择打开一个现有的Android Studio项目,选择Android源码的根目录,导入即可(起作用的是android.irp文件).在配置sdk版本之后就可以查看Android 源码了.
- 已经完成了,没有下一步了.
问题
执行第一个命令的时候编译不过,出现这种情况的原因有好几种:
- Android 源码没有下载完全
- 没有进行全部编译
环境变量配置有问题
解决方法依问题而定,网上对应的帖子很多,可以自己去找. 推荐这种问题还是去Google 和StackOverFlow 上去问.
执行第二个命令的时候,碰到下面的问题:
Exception in thread "main" java.io.FileNotFoundException: ./out/target/product/hammerhead/obj/GYP/shared_intermediates/res.java (Is a directory)at java.io.FileInputStream.open(Native Method)at java.io.FileInputStream.<init>(FileInputStream.java:138)at java.io.FileReader.<init>(FileReader.java:72)at Configuration.parsePackageName(Configuration.java:204)at Configuration.rootOf(Configuration.java:180)at Configuration.traverse(Configuration.java:140)at Configuration.traverse(Configuration.java:167)at Configuration.traverse(Configuration.java:167)at Configuration.traverse(Configuration.java:167)at Configuration.traverse(Configuration.java:167)at Configuration.traverse(Configuration.java:167)at Configuration.traverse(Configuration.java:167)at Configuration.traverse(Configuration.java:167)at Configuration.<init>(Configuration.java:72)at Main.main(Main.java:37)
解决办法是将
./out/target/product/hammerhead/obj/GYP/shared_intermediates/res.java
修改为:./out/target/product/hammerhead/obj/GYP/shared_intermediates/res.j
即可.
后记
使用Android Studio看Android源码很爽,下面是他们的优缺点:
优点
- 和Android 完美结合
- 代码提示很全
- 代码跳转很强
- IDE比Eclipse好看(我说的是黑色主题)
- 插件很强大(底层是IDEA你懂得)
- 免费(SourceInsight负分,啥?你用的破解版? 当我没说)
缺点
- 对C++代码的支持不是很好
- 有一定的上手难度
- 使用Android Studio查看Android Lollipop源码
- 使用Android Studio查看Android Lollipop源码
- 使用Android Studio查看Android Lollipop源码
- 使用Android Studio查看Android Lollipop源码
- 使用 android studio 查看 android 源码
- 使用Android Studio查看android系统源码
- 使用android studio查看andrdoid源码
- Android Studio查看android源码
- 使用Android Studio查看Android 5.x源码
- 使用Android Studio搭建Android源码查看工具
- Mac os环境下使用Android Studio查看Android源码
- Android Studio无法查看源码
- Android Lollipop
- 在Android Studio中查看Android源码
- Android Lollipop联系人之PinnedListView简单使用
- 在Android Lollipop上使用JobScheduler API
- ubuntu 使用android studio 查看android(android-5.1.0_r3)源码
- 通过Android Studio查看SDK源码
- 转:使用 python Matplotlib 库 绘图 及 相关问题
- 使用Ambari给HDP集群安装Kerberos
- 基于@Aspect的AOP配置
- SQLite的SQL语法
- 关于LayoutInflater.from(context).inflate()的使用的问题
- 使用Android Studio查看Android Lollipop源码
- iOS 升级Xcode8报missing file警告,没有使用svn啥的,在终端里使用git就搞定了
- 玩转 Nginx 之:使用 Lua 扩展 Nginx 功能
- 经典语录 -- 心情down或者hot的时候 来瞅瞅 有新的收获 同时也要留下足迹
- usaco2.3.1 Longest Prefix
- 用python判断闰年
- Facebook 内部高效工作 PPT 指南
- ROS安装出错
- Storm thrift服务入坑记