• Mac下下载android4.2源码,进行源码调试


    星期天在家研究了一下如何在mac下下载android4.2的源码并通过eclipse进行源码级别调试来更清晰的研究一下android的运行原理,具体步骤如下:

    最后下下来了,但是我进行编译却没有通过,可能是我有东西没安,但是不影响源码调试,

    首先参考http://source.android.com/source/downloading.html,与http://blog.csdn.net/joshua_yu/article/details/6876978,感谢。

    说一下我最后的方法,

    一、前期准备

    1、mac下我们需要创建一个大小写敏感的磁盘镜像文件,并将其挂载,进入应用程序/实用工具/磁盘工具,选择文件->新建->新建空白映像:

      

      空间大小自定义,建议30G,格式Mac os拓展(区分大小写),映像格式选择稀疏磁盘映像

    2、安装xcode,编译时用到。

    3、从macports.org安装MacPorts

      macports基本命令:

      (1)sudo port install ?安装

      (2)sudo port uninstall ?卸载

      (3) port installed 查看已安装的软件

      这三个就够用了这里

    4. 执行sudo port install gmake libsdl git-core gnupg命令安装gmake,libsdl,git,gnupg。我这里直接安装了gmake3.8.2,网上有说有问题家,但是我安     装后没有编译源码所以未发现问题。如果编译的可以安装网上方法退回到3.8.1。

    5、安装完成之后port installed看一下时候上面提到的都安装了,接着如下:

      修改文件标识符限制:
      由于MacOS默认将同时打开的文件标识符数量限制得太小,并行编译处理时可能会超出这个限制。所以在 ~/.profile里加上这么一段:

      #set the number of open files to be 1024

      ulimit -S -n 1024

    二、从https://android.googlesource.com 下载源码,

      1.创建~/bin/目录

        $mkdir ~/bin

        $PATH=~/bin:$PATH

      2.安装repo

        curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

      3.设置repo可执行权限

        $chmoda +x ~/bin/repo

      4、这一步大家注意了,当创建的大小写敏感磁盘空间挂载后我们的/volumes下能够看到android的目录,从这步起所有的操作在次目录下完成,

        接下来执行repoinit  

        $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1

        执行完成后ls -a查看是否一个.repo文件夹,进入看到有manifest.xml文件,如果有那么我们接下来就可以下载源码了。

        此连接有所有的版本branch,https://android.googlesource.com/platform/external/blktrace/想下载哪个版本的更改后-b后面即可。

      5、下载源码

        在/Volumes/android目录下执行命令:repo sync

      剩下的就是等待了,我的网速比较快,下了二十多分钟就下完了,如果慢的两天也有可能。

    三、把编译的方法说一下,需要的可以跟着试一下

      进入到挂载的android目录下,

      1、初始化编译环境:

        $source build/envsetup.sh

      2、选择编译目标

        $lunch full-eng

      3、开始编译代码

        $make -j4(表明我们开启四个线程来进行编译)。

      等着结果吧,我的没编译成功,但是我没想编译,只为了调试源码。

    四、调试源码方法

      1、拷贝.classpath

      进入源代码目录,也就是上面的android。

        $cd /Volumes/android

        $cp ./development/ide/eclipse/.classpath ./

      将.classpath设置为可写

        $chmod +w .classpath

      2、首先eclipse安装adt和sdk,这个不说了,肯定都会,版本选择4.2,安装完成后,file-java project,起个名字,然后location选择android目录,等待,可以  看到源码都被加载,然后看一下报的错误,我的报了如下错误:

      

      调试时我发现没影响,所以不去关心了。

      3、创建andoird项目(可以是hello world),选择android项目右键debug as-debug Configurations,然后选择左下角家remote java application右键new,设置,效果:

         

      设置完成后apply保存。

      4、然后在onCreate或其他地方设置断点,进入调试界面后如下:

        如果看到下图,那么我们成功了一半了:

       

      点击yes,进入,下面我们看到的界面发现没有源码,我们点击edit source lookup Path,点击Add按钮,选择java project,然后选中我们导入家源码工程,确定,然后再次查看,结果如下图:

        

        接下来我们调试源码,点击左上角debug窗口中的你想调试家部分,可以点击Looper().loop,我们进入看一下:

      

      好了,看到我们的源码了,剩下的是去探索了。Y(^_^)Y。

      

  • 相关阅读:
    得到内网可用的SqlServer 及某数据库下的表及其他的架构
    VS2005 XML注释生成XML文档文件
    华表 单元格公式设定与计算
    自定义控件开发示例二
    自定义控件的 Enum类和Color类 属性的公开设定
    入门者初试 Cell(华表)结合C#的应用
    VS2005 + VSS6.0 简单应用示例
    SQL2000联机丛书:使用和维护数据仓库
    VS2005 通过SMO(SQL Management Objects) 管理 数据库的作业 警报 备份 等任务
    SQL2000联机丛书:基本 MDX
  • 原文地址:https://www.cnblogs.com/liuqxFuture/p/2823717.html
Copyright © 2020-2023  润新知