博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac苹果电脑下载android4.2源码并进行源码调试
阅读量:5836 次
发布时间:2019-06-18

本文共 1869 字,大约阅读时间需要 6 分钟。

hot3.png

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

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

首先参考,说一下我最后的方法,

一、前期准备

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

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

3、从安装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默认将同时打开的文件标识符数量限制得太小,并行编译处理时可能会超出这个限制。所以在 ~/.bash_profile

里加上这么一段:

#set the number of open files to be 1024

ulimit -S -n 1024

二、从 下载源码,

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 android4.2_r1

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

此连接有所有的版本branch,想下载哪个版本的更改后-b后面即可。

5、下载源码

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

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

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

进入到挂载的android目录下,

1、初始化编译环境:

$source build/envsetup.sh

2、选择编译目标

$lunch full-eng

3、开始编译代码

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

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

四、调试源码方法

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

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

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

   

设置完成后apply保存。

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

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

 

点击yes,进入,如图:

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

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

转载于:https://my.oschina.net/u/1244156/blog/203242

你可能感兴趣的文章
计划10年建10万廉价屋 新西兰政府:比想象中难
查看>>
甘肃发首版《3D打印职业教育教材》:校企合作育专才
查看>>
李娜入选国际网球名人堂 成亚洲第一人
查看>>
为找好心人抚养孩子 浙江一离婚父亲将幼童丢弃公园
查看>>
晚婚晚育 近20年巴西35岁以上孕妇增加65%
查看>>
读书:为了那个美妙的咔哒声
查看>>
jsp改造之sitemesh注意事项
查看>>
SpringBoot-Shiro使用
查看>>
iOS 9.0之后NSString encode方法替换
查看>>
解决 ThinkPHP5 无法接收 客户端 Post 传递的 Json 参数
查看>>
ASMFD (ASM Filter Driver) Support on OS Platforms (Certification Matrix). (文档 ID 2034681.1)
查看>>
CRM Transaction处理中的权限控制
查看>>
[转]linux创建链接文件的两种方法
查看>>
python ipaddress模块使用
查看>>
文件权限
查看>>
busybox里的僵尸进程为何那么多
查看>>
python debug
查看>>
java 连接数据库之一个完整的函数
查看>>
mysql脚本
查看>>
OllyDBG 入门系列教学--让你瞬间成为破解高手
查看>>