AS查看Android系统源码

首先要编译安卓源码。我现在使用的是Android5.0源码。平台是tiny4412平台。

  • 一. 编译Android 系统

进入上述解压得到的android-5.0.2,执行以下命令(注意:“.”号后有一个空格):
.setenvlunchfulltiny4412eng lunch
You’re building on Linux
Lunch menu… pick a combo:
- aosp_arm-eng
- aosp_arm64-eng
- aosp_mips-eng
- aosp_mips64-eng
- aosp_x86-eng
- aosp_x86_64-eng
- full_tiny4412-userdebug
- full_tiny4412-eng
- aosp_mako-userdebug
- aosp_hammerhead-userdebug
- aosp_tilapia-userdebug
- aosp_grouper-userdebug
- aosp_deb-userdebug
- full_fugu-userdebug
- aosp_fugu-userdebug
- aosp_flo-userdebug
- aosp_shamu-userdebug
- aosp_manta-userdebug
- mini_emulator_mips-userdebug
- mini_emulator_x86_64-userdebug
- mini_emulator_arm64-userdebug
- m_e_arm-userdebug
- mini_emulator_x86-userdebug
韦东山Android 系统视频
Which would you like? [aosp_arm-eng] 8
接着执行“make”命令开始编译,也可以在make 后加上“-j”参数利用CPU 的多核加快编译
速度,比如在4 核CPU 上可以执行“make –j4”。
注意:编译过程可能持续4、5 个小时。
- 二、生成AS工程文件

剩下的操作可以参考这篇文章
https://www.jianshu.com/p/c85984cf99e2
然后执行mmm development/tools/idegen/
mv ./out/target/product/tiny4412/obj/GYP/shared_intermediates/res.java ./out/target/product/tiny4412/obj/GYP/shared_intermediates/res.j
sh ./development/tools/idegen/idegen.sh执行完毕所有的操作后会在android源码的根文件路径下生成android.iml和android.ipr这两个文件。
- 三、构建windows下的安卓源码工程

解压一份安卓源码添加上刚才生成的android.iml和android.ipr这两个文件两个文件就能够用AS查看。但是我发现韦东山在创建AS可查看的工程时,并没有把所有的代码都加入了。他只是用了。
device externel framworks hardware packages system 这6个文件夹下的代码。然后跟android.iml和android.ipr这俩文件组成了一个工程。
- 四、AS导入安卓源码工程并进行搜索配置

1:使用AS open新工程,加载android.ipr文件,同步一段时间后。
点击Flie->projectstructure->SDKs 选择+->JDK,在弹出来的路径中选择java的安装目录,正常是c:\program Files\java\jdk1.80_51起名字为1.8nolibs然后把Classpath中所有的数据全都delete掉。
然后在Android API xx Plateform(xx代表所有的显示出来的数值)JavaSDK选项中选择 刚才创建的1.8_nolibs。确定退出
2:Flie->projectstructure->Project 右侧弹出来的选择 一个Android APIxx Plateform 第二个框选择 7。在Modules中Dependences里面删掉所有的只保留最后两项。然后就万事大吉了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用Bdrive打造个人私有云存储解决方案

Bdrive 一款私有云储存软件,可以自己方便的在 Mac/Windows 下架设服务器,并可以通过 PC、Mac、iOS、Android 跨平台使用。以下简单介绍一下利用Bdrive来完成个人私有云存储解决方案。 第一步,搭建Bdrive云存储服务器 先下载Bdrive服务器程序&…

MVC路由中routes.IgnoreRoute({resource}.axd/{*pathInfo}) 到底什么意思!

转自:http://blog.csdn.net/lvjin110/article/details/24638913 参考(1) http://www.cnblogs.com/flyfish2012/archive/2013/02/01/2889184.html 我们在开发MVC当中,经常在我们的全局类的路由设置,看到这样的代码&…

修改Cocos2d-X-3.2中的setup.py, 使其能用python3

Cocos2d-x的最新版是v3.2,下载地址为:http://cn.cocos2d-x.org/download/ 在运行setup.py时,他会提示你安装python2.7,因为这个版本是他们"well tested"。 但是我电脑上已经安装了python3.3,又不想因为这事而卸载pytho…

函数 devm_kzalloc()

函数 devm_kzalloc() 和kzalloc()一样都是内核内存分配函数,但是devm_kzalloc()是跟设备(device)有关的,当设备(device)被detached或者驱动(driver)卸载(unloaded)时,内存会被自动释放。另外,当内存不在使用时,可以使用…

第四层交换

一,第四层交换简述   第四层交换的一个简单定义是:它是一种功能,它决定 传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第 三层路由),而且依据TCP/UDP(第四层) 应用端口号。第四层 交换功能就象是虚IP,指向物理服务器。它传…

未能加载文件或程序集“Autofac, Version=3.4.0.0,

遇到这个错误的时候&#xff1a;如下图 未能加载文件或程序集“Autofac, Version3.4.0.0, Cultureneutral, PublicKeyToken17863af14b0044da”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 只要在config加上 <runtime><assemblyBinding xmlns"…

浅谈关于SRAM与DRAM的区别

从名字上看&#xff0c;SRAM与DRAM的区别只在于一个是静态一个是动态。由于SRAM不需要刷新电路就能够保存数据&#xff0c;所以具有静止存取数据的作用。而DRAM则需要不停地刷新电路&#xff0c;否则内部的数据将会消失。而且不停刷新电路的功耗是很高的&#xff0c;在我们的PC…

字符串系列之最长回文子串

2019独角兽企业重金招聘Python工程师标准>>> 问题描述&#xff1a; 给定一个字符串SA1A2...An&#xff0c;要求找出其最长回文子串&#xff08;Longest Palindromic Substring&#xff09;。所谓回文子串就是S的某个子串Ai...Aj为回文。例如&#xff0c;对字符串Sab…

在中断程序里修改全局变量的童鞋注意啦~(C中的volatile作用 转载~)

一个定义为volatile的变量是说这变量可能会被意想不到地改变&#xff0c;这样&#xff0c;编译器就不会去假设这个变量的值了。精确地说就是&#xff0c;优化器在用到这个变量时必须每次都小心地重新读取这个变量的值&#xff0c;而不是使用保存在寄存器里的备份。下面是volati…

设计模式:单例和简单工厂

单例设计模式&#xff1a;只实例化一个类的对象&#xff01; 1 public class Person2 {3 //1&#xff1a;首先定义一个静态变量4 //2&#xff1a;将该类的构造函数私有化5 //3&#xff1a;定义一个静态方法&#xff0c;将该类对象赋给这个静态变量6 …

python3学习者的福音

偶然发现python3.3.5下的一个非常有用的目录&#xff1a;D:\Embedded\Python33\Lib\lib2to3 这下面的类有详细的说明,关于python2到3所做的一些更改&#xff0c;特别是模块名等&#xff0c;这个非常有用&#xff0c;尤其是对那些参考python2的源码&#xff0c;现在却要用pytho…

powershell 中的pause

一直想在ps中实现cmd中pause的效果 开始用sleep,不理想 无意中试了一下 cmd /c "pause" 可以了 之前一直被“执行会新开一个线程”给误导了 看来可能是调用其它程序时会… ---------------------------------- 备忘&#xff1a; 传枚举值&#xff0c;只要使用枚举值的…

错误:unrecognized command line option “-std=c++11”

From: http://my.oschina.net/chenyoca/blog/226455 摘要出现这个编译错误的原因在g gcc 版本不够高。目录[-] 添加源&#xff08;Ubuntu&#xff09; 安装4.8版本 查看本地安装版本 切换版本 再次查看g版本 出现这个编译错误的原因在g gcc 版本不够高。 添加源&#xff08;Ubu…

Java反射机制深入研究

ava 反射是Java语言的一个很重要的特征&#xff0c;它使得Java具体了“动态性”。在Java运行时环境中&#xff0c;对于任意一个类&#xff0c;能否知道这个类有哪些属性和方法&#xff1f;对于任意一个对象&#xff0c;能否调用它的任意一个方法&#xff1f;答案是肯定的。这种…

编写安全 PHP 应用程序的七个习惯

在提及安全性问题时&#xff0c;需要注意&#xff0c;除了实际的平台和操作系统安全性问题之外&#xff0c;您还需要确保编写安全的应用程序。在编写 PHP 应用程序时&#xff0c;请应用下面的七个习惯以确保应用程序具有最好的安全性&#xff1a; 验证输入保护文件系统保护数据…

linux内核字符设备文件的自动创建

手动创建&#xff1a;mknod自动创建设备文件的步骤&#xff1a;1.保证根文件系统支持mdev可执行程序mdev将来是创建设备文件的真正的人&#xff01;which is mdev //查看mdev的路劲2.保证文件系统的etc目录下有fstab文件&#xff0c;文件内容必须有&#xff1a;proc /proc …

软件工程概论课堂作业3

题目&#xff1a;返回一个整数数组中最大子数组的和 要求&#xff1a; 输入一个一维整形数组&#xff0c;数组里有正数也有负数。 一维数组首尾相接&#xff0c;象个一条首尾相接带子一样。 数组中连续的一个或多个整数组成一个子数组&#xff0c;每个子数组都有一个和。 求所有…

Android硬件访问服务框架思想初识

Android的硬件访问服务提供了一个APP调用硬件实现的方法模型。我们从上往下来看。应用层面对的都是一个个的服务叫service.比如电源管理服务&#xff0c;震动服务等等。应用层代码首先就需要去查询系统是否存在这么一个服务&#xff0c;或者目前是不是可以被获取的。从这个角度…

Ubuntu更新过程被中断后的问题

From: http://defe.me/os/368.html Ubuntu的更新过程是先下载完源里的文件就开始执行升级&#xff0c;如果涉及到一些因为版权或是其他问题没加入源的文件&#xff0c;在升级安装的中途再从第三方服务器上下载。有时需要下载的文件比较大&#xff0c;而网速又不给力&#xff0c…