android系统学习之路
文章平均质量分 72
寄意兰州
书山有路勤为径,学海无涯苦作舟。
展开
-
JNI和NDK笔记
JNI与NDK JNIEnv jobject对象 访问Java对象 保存对java对象的引用 静态方法 第二个参数是jclass类 jstring 是java本地类型,占用16位,C语言中字符串仅占用8位. javah -jni HelloJNI g++ -shared -I /usr/java/jdk1.5.0_22/include/ -I /usr/java/jdk1.5原创 2016-07-15 00:56:29 · 452 阅读 · 0 评论 -
Android源码下载 清华AOSP镜像源
这个是Android源码镜像源 https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 把https://android.googlesource.com/ 全部使用 https://aosp.tuna.tsinghua.edu.cn/ 或 git://aosp.tuna.tsinghua.edu.cn/aosp/ 代替即可1下载rep原创 2016-06-14 22:11:14 · 4344 阅读 · 0 评论 -
android框架揭秘之Java服务学习笔记
Java应用程序服务 由Activity Manager Service进行管理FooManager 是包装类,用来获取FooService的IFooService.aidl会自动生成IFooService.Stub和IFooService.Stub.ProxyBinderProxy相当于BpBinder 通过JNI到BpBinder Binder相当于BBinder通过JavaBB原创 2016-07-30 23:34:41 · 783 阅读 · 0 评论 -
编译安卓2.3错误遇见的错误及解决办法
Error:frameworks/base/include/utils/KeyedVector.h:193:31: note: declarations in dependent base ‘android::KeyedVector >’ are not found by unqualified lookupframeworks/base/include/utils/KeyedVect原创 2016-03-04 23:25:21 · 1682 阅读 · 0 评论 -
Android源码下载小结
下了几个月了一只源码下不好,刚开始在深入理解安卓中按邓老师的下android2.2,然后下载不了.然后今天看了罗老师的文章,看评论发现了一个。http://d.zhu.im/Android-repos/qualcomm-android/里面只有一个。然后发现一个http://blog.csdn.net/ilittleone/article/details/6823441Android原创 2016-02-20 21:55:33 · 587 阅读 · 0 评论 -
编译goldfish2.6.9遇见的问题
goldfish-android-goldfish-2.6.29.tar.gz下载地址http://pan.baidu.com/s/1sjry4Q5密码:47xlarch/arm/configs/goldfish_defconfig:289:warning: override: FB_EARLYSUSPEND c把goldfish_defconfig中的内部覆盖.c原创 2016-03-04 23:36:33 · 1330 阅读 · 0 评论 -
Android中的JNI
JNI调用简单梳理一下,留着慢慢完善。java访问C 逻辑相对简单 javah -jni com.android.client.Foo生成头文件 包名+类名 Class文件native引擎中AndroidRuntime类提供了一个registerNativeMethods函数 通过该函数定义Native函数和C函数的名称映原创 2016-04-06 10:18:42 · 532 阅读 · 0 评论 -
Android Logcat小结和adb常用命令
可以先通过adb shell ps查看应用相关的pid号。然后根据PID号 adb logcat | grep pid这样可以打印跟本应用相关的log。adb logcat -b main可以查看跟应用相关的Log. -b 加载一个可使用的日志缓冲区供查看,默认值是main。radio — 查看包含在无线/电话相关的缓冲区消息events — 查看事件相关的消息原创 2016-04-22 12:58:07 · 735 阅读 · 0 评论 -
Android Binder驱动中的基础数据结构整理
最近突然看到一个博客,看了好几天binder,发现越看越不懂,然后看老罗的博客,发现也不是太懂,现在想根据书上的东西好好梳理下Binder。struct binder_work { struct list_head entry; // enum { BINDER_WORK_TRANSACTION = 1, BINDER_WORK_TRANSACTION_COMPLETE,原创 2016-05-31 23:34:25 · 4637 阅读 · 0 评论 -
Android中init进程的工作
在最后的循环中,监听三个事件,一个是热插拔事件,一个是修改属性服务,几个重要进程的状态. init.rc文件在Android文件系统运行过程中用于通用的环境设置及进程相关的定义.init.{hardware}.rc用于定义Android在不同平台下的特定进程和环境设置等.init.rc中的属性值 由执行中的多种进程调用property_get() 来访问/dev/socket/p原创 2016-06-24 22:29:23 · 481 阅读 · 0 评论 -
binder驱动和内核交互笔记
进程只运行在进程固有的虚拟地址空间, 剩下的1G是内核空间 用户代码和相关库都运行在用户空间的代码区域. 两个进程共享的内核空间 binder driver是通信媒介ipc由调用服务号,调用函数名,binder协议构成handle是指服务号, 区分服务, binder driver通过handle值确定binder ipc数据传递到哪个服务中RPC代码表示待调函数 RPC数据 是传递原创 2016-07-15 01:05:02 · 2689 阅读 · 1 评论 -
zygote笔记
新的android应用程序A并非通过fork来重新装载已有进程的代码区,而是被动的加载到复制出的Dalvik虚拟机上,Zygote进程将执行流程交给应用程序A类的方法. Zygote子进程动态加载并运行Android应用程序A 通过已加载至内存中的类与资源来加快运行速度共享父进程的内存空间 需要修改才复制到自身的内存空间进行修改Zygote是由java编写的 不能由init进原创 2016-07-15 00:59:01 · 549 阅读 · 0 评论 -
编译Android 2.3源码错误总结
虽然版本2.3很老了,但是这是在完全新的Ubuntu上面编译的,可以使我们更加熟练.1.host C: acp :0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by default]:0:0: note: this is the location of the previous definitionIn file in原创 2016-06-14 22:20:12 · 1746 阅读 · 0 评论