Android 开源项目代码分析思路

转载请注明本文出自 clevergump 的博客:http://blog.csdn.net/clevergump/article/details/51234695, 谢谢!


在 Android 开发中,如果我们临时接手一个已经在开发中的项目, 或者要分析一个开源项目时, 代码分析的思路如下:

  1. 先创建一个测试APP, 可以通过修改可运行的那个 module (通常其默认名称为 app) 的 build.gradle 文件中的 applicationId, 并修改APP名称, APP icon (通常其默认名称是 ic_launcher.png) 来与原 APP 加以区分,然后在所有的 BaseActivityBaseFragmentonCreate()onResume() 方法中加上 toast显示类名, 这样便于熟悉页面与 Activity/Fragment 文件的对应关系。

  2. 分析具体的某一个页面, 包括:

    • Android 该页面内部自身的代码: 一般都是 MVC 结构 Activtity/Fragment + layout (+adapter) + Bean. 而看 layout 文件时还会涉及到与 UI 图纸的对应关系。
    • Android 该页面与其他相关页面之间的跳转关系,以及参数传递关系, 一般是 Intent 传递,或者事件总线传递, 或者 BroadcastReceiver 等等。 ————这些需要看需求文档
    • 该页面与后台接口之间的关系:
      1. 如果有后台接口文档, 则直接分析该页面对应哪个或哪些接口, 哪些控件进行了什么操作时需要与后台接口交互,具体的某一个操作对应的是后台的哪一个接口,交互时各接口各自需要传递哪些参数给后台并且会从后台接收到哪些参数。 ———-这些需要看需求文档和后台接口文档
      2. 如果没有后台接口文档, 则只能尝试抓包来获取接口参数结构, 若 url 被加密则抓包也没办法查看。Android 手机抓包的具体配置可以看这篇文章
      3. 这里顺便提一下, 如果是分析商业APP, 代码有可能被混淆加固了, 那么就更难分析了, 因为 java 文件名都变为 a b c 了, 通过反编译只能查看到一小部分信息。
  3. 其他细节点:
    例如: 项目中如果用到了你不熟悉的库或者控件导致你分析起来非常困难时, 也可以先暂时学习一下相关知识, 待你熟悉之后, 再回来继续分析。当然, 代码分析本身就要求你要有一定的基础功底 (包括但不限于 java, Android, IDE, 常用开源库及常用控件的用法, 常用的设计模式等), 否则你分析的过程将会非常艰难。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了满足广大Android开发爱好者与从业者的学习需求,我们精心整理并上传了一份全面而实用的Android项目资源包。这份资源包内容丰富,涵盖了从基础知识到实战应用的全方位内容,旨在为开发者们提供一个便捷、高效的学习平台。 一、文件手册 资源包中的文件手册部分,详细记录了Android开发的核心知识点和常用技术。无论是初学者还是有一定经验的开发者,都能从中找到所需的学习资料。手册采用了简洁明了的排版方式,使得查阅更加方便快捷。同时,手册内容深入浅出,既适合新手入门,也能为老手提供有价值的参考。 二、项目实战与练习 为了让学习者能够将理论知识与实践相结合,我们特别准备了项目实战与练习部分。这部分内容包含了多个精心设计的Android项目案例,从需求分析、设计思路到实现过程,都有详细的讲解和代码示例。学习者可以通过实际操作,深入了解Android开发的整个流程,提升自己的实战能力。 此外,我们还提供了一系列练习题,旨在巩固所学知识,检验学习成果。这些练习题既有基础题,也有难度较高的挑战题,适合不同层次的学习者进行练习。 三、Android开发工具集 在Android开发过程中,选择合适的工具能够大大提高开发效率。因此,我们整理了常用的Android开发工具集,包括开发工具、测试工具、性能优化工具等。这些工具都是经过我们精心筛选和测试的,能够帮助开发者们更加高效地进行Android开发工作。 总的来说,这份Android项目资源包是一份不可多得的学习资料,无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。我们希望通过这份资源包,为广大Android开发爱好者与从业者提供一个更加便捷、高效的学习平台,共同推动Android开发领域的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值