android source
felix_wangq
这个作者很懒,什么都没留下…
展开
-
mac下编译android源码
按照官网的配置来设置下载源码 然后编译报错,是因为xcode版本问题,最新的xcode版本的sdk是10.11,而android编译使用的是10.10最新, 详情查看build/core/combo/mac_version.mkbuild_mac_version := $(shell sw_vers -productVersion)mac_sdk_versions_supported := 1原创 2015-11-10 12:31:04 · 839 阅读 · 1 评论 -
Handler Looper MessageQueue之MessageQueue
2、MessageQueue2.0概述MessgaeQueue就是一个队列,用来存储消息,MessageQueue属于某一个Looper。Java层的MessageQueue包含一个mPtr变量,保存了Native层的NativeMessageQueue的地址。MessageQueue对外提供了几个方法: 1、新建队列:主要是在native层的NativeInit方法实现。 2、元素入队:enq原创 2015-11-17 11:58:04 · 431 阅读 · 1 评论 -
Handler Looper MessageQueue之Handler
1、HandlerHandler.java文件位于framework/base/core/java/android/os/Handler.java1.1 创建handler源码中提供了7种handler构造方法public Handler() public Handler(Callback callback) public Handler(Looper looper) public Handler原创 2015-11-17 11:55:05 · 444 阅读 · 1 评论 -
Handler Looper MessageQueue之Looper
3 Looper线程Looper首先是一个在线程run方法中调用了Looper.prepare()和Looper.loop()方法的线程。3.1 looper的prepare该方法位于/frameworks/base/core/java/android/os/Looper.java中。prepare方法会初始化一个looper线程,并且吧该looper存储到线程的ThreadLocal中(关于Thr原创 2015-11-17 11:51:42 · 595 阅读 · 0 评论 -
为android源码添加新设备支持概述
1目录结构概述源码根目录下的device目录中保存的是各个厂商相应的代码,故我们可以在这里创建一个自己的目录,比如以公司名称命名,比如felix。公司目录下是自己的设备目录,可以有多个,比如weatherfish。 这样,我们在device目录下就由了felix/weatherfish目录.2 vendorsetup.sh在上面创建的目录下,新建一个vendorsetup.sh文件,用于在lunc原创 2015-11-14 10:51:16 · 1842 阅读 · 1 评论 -
C++强制类型转换
1、概述传统运转换延续了C的形式,但是只能在数值类型上使用,对于其他类型(引用和指针),标准c++的有以下四种强制类型转换方式:const_cast,reinterpret_cast,static_cast,dynamic_cast2、const_cast用法: const_cast <new_type> (expression)const_cast转换符是用来移除或添加变量的const, vola原创 2015-12-01 15:34:06 · 796 阅读 · 0 评论