摘要:参考资料:理解 Android Build 系统 把总结放前面: 1. 常用编译命令 2.常用命令: 名称说明 croot 切换到源码树的根目录 m 在源码树的根目录执行 make mm Build 当前目录下的模块 mmm Build 指定目录下的模块 cgrep 在所有 C/C++ 文件上执行 
        
阅读全文
 
    
        
        
摘要:getevent与sendevent工具 Android系统提供了getevent与sendevent两个工具供开发者从设备节点中直接读取输入事件或写入输入事件。 在这里,我们测试音量加和音量减按键 注意:(2018.1.12更新:getevent -lt 更加直观;如下所示) 然后我们根据上面的数
        
阅读全文
 
    
        
        
摘要:普通步骤是:用来编译整个Android源码 不过每次这样太繁琐,下面来单独编译kernel分析:在上面make之后的日志中 编译: 1. 根据上面导出环境变量 export ARCH=arm export CROSS_COMPILE=~/myandroid/prebuilts/gcc/linux-x
        
阅读全文
 
    
        
        
摘要:参考:http://blog.csdn.net/u010312937/article/details/53285286 https://www.jianshu.com/p/7fca94b330ea 注意:关于下面的一些时序图,如果看不清,可以使用下载后再看,源码我已经放在GitHub上,工具为bou
        
阅读全文
 
    
        
        
摘要:强制转换: (Cplusplus基础与提高(何桂林)21页) static_cast:有隐式转换的 格式: reinterpret_cast:没有隐式转换的 格式: 举例: const_cast:脱常量的 格式: 举例: dynamic_cast(这个不需要) 容器: Vector<String8>
        
阅读全文
 
    
        
        
摘要:1. android studio自己添加代码生成so 代码地址:https://github.com/maogefff/Android-Test-Sample/tree/master/MyJni 参考资料:https://www.2cto.com/kf/201607/526887.html htt
        
阅读全文
 
    
        
        
摘要:1. GitHub的使用 https://github.com/maogefff/GitHub-git-repo 2. git的使用 https://github.com/maogefff/GitHub-git-repo 1. 更改GitHub的账号 2.创建git仓库 2.将文件添加进本地仓库暂存
        
阅读全文
 
    
        
        
摘要:1. 方法一:导入,编译(太麻烦,各种不兼容问题) android studio和eclipse的应用结构目录是不同的,但是在android源码中的应用基本上都是使用的eclipse目录结构(在/packages/apps中),如果是使用的eclipse,则随便复制一个android.mk修改一下就
        
阅读全文
 
    
        
        
摘要:方法一: settings --> about tablet --> build number(疯狂点击) -->回退 developer options --> USB debugging 方法二: 猜测:应该可以修改源码中的哪个属性,ro.xxx,还没看,用到再说
        
阅读全文
 
    
        
        
摘要:被权限搞了好久,决定好好的研究一下; 参考资料 http://blog.csdn.net/xieyan0811/article/details/6083019?reload http://blog.csdn.net/simonjay2007/article/details/42103833 1. 修
        
阅读全文
 
    
        
        
摘要:系统应用apk存放的文件: 系统配置存放目录:(我自己的,也许不对) 系统可执行文件存放目录: 自带android应用源码目录: 设备目录(一般自己定制文件都存放在这里): 比较混杂的,有动态库,静态库,jar包等,不知道放哪,就放这里
        
阅读全文
 
    
        
        
摘要:1. 添加系统服务 1.1 添加方式1:(不加入servicemanager统一管理的) 看Android6.0.1 init.rc解析中的第2章和第3章 方式1: 1). 写一个测试脚本test.sh就当做服务,然后在系统启动的时候自动执行:device/fsl/sabresd_6dq/test.
        
阅读全文
 
    
        
        
摘要:放在第一行的#! /system/bin/sh 我之前误以为是给读代码的人看的,其实不是!!是给操作系统看的,在android添加系统(服务、应用)里面的1.1中,就是因为没有添加,导致系统运行不了test.sh
        
阅读全文
 
    
        
        
摘要:1. 概述 1.1 概述 之前分析过android5的init.rc,不过还是不够仔细,现在来看看android6的,多的就不写了,只写关键点 忘记一些基本概念可以先看看之前的笔记: Android5.1.1 初始化流程之init进程(未完成) i.mx6 Android5.1.1 初始化流程之in
        
阅读全文
 
    
        
        
摘要:1. 概念 1.1 C/C++中socket family:协议族 type:套接字的类型 protocol:协议类型的常量或设置为0,以选择给定的family和type组合的系统默认值 1.2 Android应用层socket 2. 本地通信代码(android和Linux的区别) 2.1 and
        
阅读全文
 
    
        
        
摘要:1. Linux下如果找不到相对应的参数,则会跳过继续找下一个 Android下如果找不到则会直接返回-1,跳出来 2. Linux下通过getopt后会把找到的元素放到数组的前面,没找到的往后移动(除了第一个元素:也就是运行的文件): 举例: 运行并查看结果: Android下则不会改变。
        
阅读全文
 
    
        
        
摘要:1. makefile 1.1 gcc的参数 -Wall: 是打开警告开关, -O: 代表默认优化,可选:-O0不优化,-O1低级优化,-O2中级优化,-O3高级优化,-Os代码空间优化。 -g: 是生成调试信息,生成的可执行文件具有和源代码关联的可调试的信息。 -I(大写的i):代表后面跟的目录为
        
阅读全文