- 博客(33)
- 资源 (3)
- 收藏
- 关注
原创 自己写mk文件编译apk
自己写mk文件(mark一下)如果平时写apk代码,是在Android studio上面写的,然后编译希望随源码一起编译,需要自己书写一个mk文件才能编译。可以参照如下书写:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_PROGUARD_ENABLED := disabledLOCAL_SRC_FILES := $(call all-java-files-under, app/src/main/java)LOCAL_RESOUR
2021-12-04 00:23:32
2607
原创 Android源码阅读---system_server进程
system_server进程文章目录system_server进程1. 初始化参数2. forkSystemServer 创建一个进程3. handleSystemServerProcess4. systemServer的main方法4.1 startBootstrapServices4.2 startCoreServices4.3 startOtherServicessystem_serv...
2020-03-21 18:08:36
1250
原创 Android源码阅读---binder客户端进程
binder客户端进程文章目录binder客户端进程1. 从getservice出发1.1 `BinderInternal.getContextObject()`对象1.1.1 c++层IBinder接口型的对象1.1.2 java层IBinder接口型对象1.2 transact方法2. Binder 驱动2.1 向 binder驱动写数据2.2 向 binder驱动读数据在service...
2020-03-20 14:18:30
386
原创 Android源码阅读---zygote(app_process)进程
Android源码阅读—zygote(app_process)进程文章目录Android源码阅读---zygote(app_process)进程1. app_processpe的启动2. main函数流程3. 创建java运行环境4. ZygoteInit类主函数4.1 registerZygoteSocket4.2 preload4.3 startSystemServer4.3 runSele...
2020-03-20 13:48:55
2089
原创 Android源码阅读---Service Manager进程
Android源码阅读—Service Manager进程文章目录Android源码阅读---Service Manager进程1. 编译命令2. main函数流程3. 打开binder设备4. 将自己设置为binder5. loop循环5.1 从binder中读数据5.2 解析数据5.2.1 BR_TRANSACTION5.2.2 BR_REPLY5.23 BR_DEAD_BINDERSer...
2020-02-25 19:03:45
744
原创 Android源码阅读---init进程
Android源码阅读—init进程文章目录Android源码阅读---init进程1. 编译命令和进程入口1. init 进程编译命令2. main函数流程2. 主函数处理流程1. 创建基本目录2. open_devnull_stdio 重定向到空设备3. klog_init() log输出4. selinux_initialize 初始化selinx模块5. 切换到第二阶段6. 开...
2020-02-06 16:12:20
824
原创 bluetooth模块学习总结
Android系统中的bluetooth模块Android系统中的bluetooth模块1. 蓝牙是什么2. 蓝牙有什么3. 蓝牙需要改什么4. 对蓝牙功能添加/修改4.1 首先,看看系统什么地方定义了该接口:4.2 其次,问题就转换为如何调用这个2接口了。 在 apk中调用c/c++层的接口需要通过JNI层将这2接口个进行包装4.3 最后,写个测试apk,调用封装好的方法。...
2018-08-02 16:41:19
2556
1
原创 git学习总结
git学习总结Git 有三种状态:已提交(committed):表示数据已经安全的保存在本地数据库中已修改(modified):表示修改了文件,但还没保存到数据库中已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。git 的三种区域:Git 仓库:是 Git 用来保存项目的元数据和对象数据库的地方工作目录:是对项目的某个版本独立...
2018-08-02 12:02:45
652
原创 [CTS]Found insecure block devices
CtsSecurityHostTestCases问题CtsSecurityHostTestCases问题1. Description2. Analysis3. Solution4. Summary1. Descriptioncts是谷歌的一种认证。谷歌CTS,英文为Compatibility Test Suite,中文意思是兼容性测试,手机设备需要通过A...
2018-08-01 14:12:52
750
原创 锁屏状态下NFC不可用
锁屏状态下NFC不可用1. Description在工厂测试软件中,需要对nfc进行测试。 1. 开机启动后,直接进入工厂测试软件中 2. 运行到nfc测试用例时,发现该测试用例不能成功的检测到nfc 3. 退出工厂测试软件,进入setttings->connected devices->打开nfc开关,继续验证nfc,发现是OK的。 4. 在回到工厂测试软件中nf...
2018-07-13 15:21:28
6131
原创 android中 JIN编译报错
android中 JIN编译报错编译报错: fatal error: string: No such file or directory在开发一个测试用例时,需要用到一个JIN去调用底层借口,JIN文件为:otp_rw.cpp,然后相关makefile如下:include $(CLEAR_VARS)# This is the target being built.LOCAL_M...
2018-05-10 14:59:38
1099
原创 Android编译系统学习总结
Android编译系统Android编译系统1. makefile入门2. Android编译系统3. Java编译链(java android compiler kit)4. SDK的编译过程5. Android GDB调试过程1. makefile入门makefile本质是创建的一种“规则”,根据“规则”按指定顺序一步步执行,可以用它来编译系统、生成...
2018-04-17 16:56:54
1531
原创 c语言学习总结----指针
c语言学习总结—-指针 在c语言的学习中,指针始终是一个非常重要的知识点,同时它也是一个难理解的知识点。相比于其他的语言,比如java(好吧,只学过java) xxx等,指针也是c语言的一个重要特点。通过指针,c语言程序可以直接访问内存地址(或者称为虚拟地址空间更准确,对已实实在在的物理内存,虚拟地址空间是一个比较抽象概念,大概的意思是只要知道虚拟内存地址,通过虚拟内存与物理内存的映射关系...
2018-03-28 18:10:13
3163
原创 android智能指针学习总结
智能指针智能指针0 引言1 轻量级指针2 强指针3 弱指针4 总结0 引言问题描述:在android系统中,有很多的代码是用c++来开发的,而使用c++来编写程序,最容易因为指针使用不当而导致致命的错误,比如因为忘记释放指针所指向的对象占用内存导致内存泄露或者程序崩溃。解决思路:相比与c++,java的垃圾回收机制在这方便就做的比较好,系统会运...
2018-03-07 18:31:31
396
原创 SELinux 学习总结
SELinux 学习1 什么是SELinux2 SELinux的运行模式3 SELinux的启动关闭与查看4 SELinux的策略与规则管理小结SEAndroid 学习1 SEAndroid各种资源定义2 SEAndroid类型规则3 SEAndroidwen文件全上下文4 SEAndroidwen进程全上下文5 SEAndroid常用命令小结总结
2018-01-25 18:15:39
1779
原创 C语言读书笔记
C语言深度解剖读书笔记 前段时间把c语言程序设计看了一遍,感觉还是有很多不清楚的地方,可能是使用的不多,而且学的也不够深得缘故吧。因为平时从事android开发,也希望能够把android系统方面的东西搞懂,那么c语言不说精通也该要能够熟练使用吧。所以在网上看看相关的书籍就找到了《C语言深度解剖》。上面主要讲解c语言中容易搞错或者容易忽视的问题,毕竟细节决定成败,能把一些比较基础的细节性的东西搞
2017-09-27 14:29:05
2875
原创 打印宏
如何打印宏如何打印宏问题描述分析思路总结1. 问题描述我们都知道,在C/C++中经常会用到宏定义,宏实际上就是给一个字段取的一个别名,它是属于预编译系统的一部分,其形式如:#define PI 3.141592654当我们想要使用3.141592654这个值的时候,直接用它的别名PI就可以了。如果什么时候,我们需要将PI的精度提高,则只需要修改这个宏定义就可以了,而不用一个一个的去修改。 同
2017-08-07 22:32:15
1703
原创 优快云-markdown编辑器说明——mark下
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-08-07 22:16:54
249
原创 USB Tethering always displays grey when USB tethering type is Linux(EEM)
USB Tethering always displays grey when USB tethering type is Linux(EEM)1.Problem DESCRIPTIONUSB Tethering always displays grey when USB tethering type is Linux(EEM)Precondition: MS connects wifiRE
2017-06-12 21:29:41
577
原创 低电量自动关机时无关机动画
低电量自动关机时无关机动画低电量自动关机时无关机动画问题描述分析solution总结1. 问题描述DEFECT DESCRIPTION: No shutdown animation in the electricity display only 1%.REPRODUCING PROCEDURES: 电量消耗显示只有1%时,手机突然黑屏关机,没有关机动画,长按power键后手机又可以
2017-06-08 15:56:02
2070
原创 linux学习笔记
关于shell语言中的if else语句中 if的判断标准到底是什么,在if后面的命令,如果是退出状态码是0,则执行位于then后面的语句,否则执行else后面的语句。例:#!/bin/bash#test the if statement if pwd then echo “means command ‘wpd’ output statement code 0elseecho “pwd
2017-04-17 11:27:08
195
原创 实现堆排序
/** * 22.实现堆排序 * * */public class HeapSort{ private static int[] a = null; public Test_22(int k) { a = new int[k]; for (int i = 0; i a.length; i++) { int tem
2017-04-17 11:27:04
173
原创 将博客搬至优快云
将博客搬至优快云将博客搬至优快云将博客搬至优快云将博客搬至优快云将博客搬至优快云本来不怎么写博客的,但是发现只是学习是非常容易忘记的,所以通过写博客来对学习到的知识进行总结吧。很多时候知道和能够清晰的表达出来还是有非常大的差别的,希望通过写博客来锻炼自己的表达能力吧。同时写博客更多的是为了给以后的自己留下一些思考问题的方式方法。既然开通了博客,就希望自己能够坚持下去,
2017-04-17 11:27:00
259
原创 #从源码到可执行程序
从源码到可执行程序从源码到可执行程序1.概述2.预编译3.编译4.汇编5.链接1.概述 很多编译型语言的源码都需要被编译之后才可以正常的运行,如常用的c语言,它需通过编辑器的编译把它变成0101序列的机器语言才可以在指定机器上运行。而常见的java语言则属于解释型语言,它虽然也需要进行编译,不过它通过java编译器编出的是字节码(.class)文件,需要java虚拟机解释(解释器)解释执
2017-04-17 11:26:56
271
原创 linux高大上命令001
【 linux命令 sed 】sed是一个管道命令,可以分析standard input 而且sed可以将数据进行替换、删除、新增、选取的特定的功能 sed [-nefr] [动作] -n 使用安静(silence)模式。在一般sed的用法中,所有来自STDIN的数据一般都会被列出到屏幕。-e 直接在命令行模式上进行sed的动作编辑。-f 直接将sed的动作写在一个
2017-04-17 11:26:52
313
原创 markdownFormat
对文档编辑主要还是用wps,因为以前毕业论文都是用的它来编排(刚开始用wps毕业论文的时候真的是用的想吐,感觉非常不好用,而且功能太多但对于自己需要的功能又偏偏找不到),用过几次后还觉得用它编辑文本效果还不错。后面有次,有个同事(泰)介绍了下markdown语法,说用这个可以非常方便的编辑文本而且看起来非常炫,当时看了下 感觉有点像是写html就觉得麻烦,懒得记那些标签。后面还是主要使用wps编辑
2017-04-17 11:26:44
784
原创 c++学习——构造函数与析构函数
构造函数与析构函数构造函数与析构函数构造函数析构函数拷贝函数总结在c++中有2个特殊的函数:构造函数和析构函数,它们分别对类对象进行初始化和清理工作。1. 构造函数构造函数,与类名相同,当创建类对象时会自动调用该函数。如果创建类对象时没有手动创建构造函数,系统会自动创建一个默认的构造函数,这个默认的构造函数函数体是空的,无任何功能。 构造函数是作为类的成员函数,它可以访问类中所有的数据成
2017-04-01 17:41:30
357
原创 关机充电图标修改
关机充电图标修改关机充电图标修改关机充电main函数函数set_draw_anim_mode函数pthread_mutex_init函数bootlogo_init函数alarm_control函数charging_control1 draw_thread_routine2 bootlogo_show_charging3 show_battery_capacity3 fill_an
2017-03-06 17:13:18
5691
4
原创 从源码到可执行程序
从源码到可执行程序从源码到可执行程序概述预编译编译汇编链接1.概述 很多编译型语言的源码都需要被编译之后才可以正常的运行,如常用的c语言,它需通过编辑器的编译把它变成0101序列的机器语言才可以在指定机器上运行。而常见的java语言则属于解释型语言,它虽然也需要进行编译,不过它通过java编译器编出的是字节码(.class)文件,需要java虚拟机解释(解释器)解释执行,具体流程如图1
2017-01-26 12:08:13
1889
原创 MarkDown学习笔记
对文档编辑主要还是用wps,因为以前毕业论文都是用的它来编排(刚开始用wps毕业论文的时候真的是用的想吐,感觉非常不好用,而且功能太多但对于自己需要的功能又偏偏找不到),用过几次后还觉得用它编辑文本效果还不错。后面有次,有个同事(泰)介绍了下markdown语法,说用这个可以非常方便的编辑文本而且看起来非常炫,当时看了下 感觉有点像是写html就觉得麻烦,懒得记那些标签。后面还是主要使用wps编辑文
2017-01-25 17:12:07
440
原创 Java练习题
Java练习题一、判断题1. 子类可以继承父类的的除私有成员以外的其他所有成员 √ 正确:子类是可以继承父类的的除私有成员以外的其他所有成员,所以答案为√:例如:public class ExtendsTest extends Father{int a = 10;//值为10的变量属于子类public static void main
2016-11-26 11:57:08
1079
google && qcom驱动镜像 (2024-02-05)
2024-04-04
google && qcom驱动镜像 (2023-10-05)
2024-04-04
google && qcom驱动镜像
2024-04-04
cuttlefish-base
2024-04-04
jbr-jcef-11-0-12-windows-x64-b1692.9 &&jpbc-2.0.0 &&bcprov-jdk15
2023-06-04
静态路由与默认路由配置
2015-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人