android studio 导入android 源码

本文详细介绍了如何使用AndroidStudio导入并查看Android源码,包括下载源码、编译及配置步骤。解决了常见错误,并对比了使用AndroidStudio查看源码的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用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 上去问.
  • 执行第二个命令的时候,碰到下面的问题:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    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++代码的支持不是很好
  • 有一定的上手难度

转载于:https://my.oschina.net/u/1474965/blog/718220

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值