- 博客(55)
- 资源 (34)
- 收藏
- 关注
原创 Android使用固定的key给ko(kernel module) 签名
Android 原生默认每次编译使用自动生成在out目录的 pem和x509文件签名,由于种种原因我们可能需要使用固定的key给ko做签名,经过研究发现如果要使用固定的key来签名,需要做一下修改。
2022-10-13 20:56:21
1999
转载 提升 C++ 开发效率的几个小技巧
以下文章来源于程序员小方 ,作者张小方程序员小方技术,生活,编码,加班,读书学习,这里是程序员小方的 IT 生活。我们说的 Modern C++,一般指的是 C++11 及以后的标准,从 C++ 11 开始,Modern C++ 引入了大量的实用的特性,主要是两大方面,学习的时候也可以从这两大方面学习:增强或者改善的语法特性;新增的或者改善的 STL 库。我们来看几个具体的案例:案例 1:统一的类成员初始化语法与 std::initializer_list:在 C++98/03 中,假设我们
2021-08-24 10:43:58
887
转载 C++常见的三种内存破坏场景和分析
C++常见的三种内存破坏场景和分析以下文章来源于一个程序员的修炼之路 ,作者河边一枝柳一个程序员的修炼之路主要分享Windows开发与调试, Linux, C/C++, 以及后端开发技术有一定C++开发经验的同学大多数踩过内存破坏的坑,有这么几种现象:比如某个变量整形,在程序中只可能初始化或者赋值为1或者2, 但是在使用的时候却发现其为0或者其他的情况。对于其他类型,比如字符串等,可能出现了一种出乎意料的值!程序在堆上申请内存或者释放内存的时候,在内存充足的情况下,居然出现了堆错误。当出现以上
2021-08-24 10:28:20
408
原创 Android 生成自己的签名key(releasekey platform shared media networkstack verify等)
Android官方文档https://source.android.google.cn/devices/tech/ota/sign_builds?hl=zh-cnhttps://android.googlesource.com/platform/build/+/refs/heads/master/target/product/security/README前言Android 操作系统映像在三个地方使用加密签名:映像中的所有 .apk 文件都必须经过签名。Android 软件包管理器通过下列两种方
2021-08-11 15:27:00
1723
原创 Android 刚开机就出现“正在关机”对话框的问题分析
前言之前项目,一直会出现刚开机就出现“正在关机”对话框,然后就关机了,通过串口看内核log。发现进入了recovery模式,然后就跟了一下代码,看什么情况下会进入这个模式代码分析关机对话框关机对话框显示在frameworks/base/services/core/java/com/android/server/power/ShutdownThread.java而调用者在frameworks/base/services/core/java/com/android/server/power/Pow
2021-07-29 16:21:50
1029
1
原创 Android GDB的使用
官网介绍https://source.android.com/devices/tech/debug/gdb简单使用前提source build/envsetup.shlunch aosp_arm64-userdebugNative processdevelopment/scripts/gdbclient.py -p 例如:mediacodec 的 pid是 388 要dbg mediacodec 只需要development/scripts/gdbclient.py -p 388下面就是
2021-07-21 17:15:13
615
原创 Android9 HWbinder使用-获取service流程解析
前言接上篇Android9 HWbinder使用-注册service流程解析讲了hidl service的注册流程,这篇文章接着解析hidl service的获取流程HwBinder框架流程解析废话不多说,继续以USB HAL 1.0为例,解析一下获取的流程以vts为参考获取的代码获取流程1. hardware/interfaces/usb/1.0/vts/functional/VtsHalUsbV1_0TargetTest.cpp改一下代码,以常见的不带参数为例usb = IUsb::
2020-12-30 18:19:44
2449
原创 Android9 HWbinder使用-注册service流程解析
前言写一个自己的 Android Hidl Service这里写了怎么创建一个自己的hidlservice,现在讲一下hidlservice的注册和获取流程HwBinder的框架
2020-12-30 13:33:39
3173
原创 增加真随机数的熵值,以便快速获取随机数
#include <stdio.h>#include <fcntl.h>#include <unistd.h>#include <errno.h>#include <stdlib.h>#include <time.h>#include <string>#include <linux/random.h>#include <sys/ioctl.h>#include <stdio.h
2020-12-17 14:57:03
904
1
原创 VS Code常用配置
前言vs code 所有用户自己更改的配置都存储在settings.json文件中存储路径不同的系统存储路径不同linux${HOME}/.config/Code/User/settings.jsonwindows%APPDATA%\Code\User\settings.json常用配置禁止预览。每次打开文件总是新开tab页"workbench.editor.enablePreview": false,字体大小"editor.fontSize": 14,根据出口大
2020-12-17 14:44:19
256
原创 Android Android.bp 预编译/集成三方so 二进制 rc etc 配置文件等
前言现在大多数项目需要集成三方的so 二进制 rc etc 配置文件等,下面的方法基本可以覆盖,备用语法参考语法参考官方链接实例预编译继承二进制文件/bin 和启动rc源文件vendor/bin/hw/android.hardware.configstore@1.1-servicerc文件android.hardware.configstore@1.1-service.rccc_prebuilt_binary { name: "android.hardware.config
2020-08-04 15:29:31
7093
原创 国内 repo 拉取android源码
sudo gedit /etc/hosts复制代码在hosts文件中加入203.208.49.187 googlesource.com203.208.49.187 android.googlesource.com203.208.49.187 gerrit.googlesource.com复制代码注意,203.208.49.187只是
2020-06-12 15:39:22
3171
原创 写一个自己的 Android Hidl Service
HIDLHAL 接口定义语言(简称 HIDL,发音为“hide-l”)是用于指定 HAL 和其用户之间的接口的一种接口描述语言 (IDL)。HIDL 允许指定类型和方法调用(会汇集到接口和软件包中)。从更广泛的意义上来说,HIDL 是用于在可以独立编译的代码库之间进行通信的系统。HIDL 旨在用于进程间通信 (IPC)。进程之间的通信采用 Binder 机制。对于必须与进程相关联的代码库,还可以使用直通模式(在 Java 中不受支持)。HIDL 可指定数据结构和方法签名,这些内容会整理归类到接口(与类
2020-06-11 17:13:14
3550
5
翻译 下载编译LineageOS代码
文章目录介绍前期准备构建你的LineageOS和LineageOS Recovery安装SDK安装构建软件包Java创建文件夹安装repo命令将~/bin目录放在环境变量中初始化LineageOS源码仓库介绍这些说明有望帮助您的Motorola Moto X 2014开始,解锁引导加载程序(如有必要),然后为您下载所需的工具以及LineageOS的最新源代码(基于Google的Android操...
2020-03-16 10:38:33
2272
原创 Android源代码编译脚本
前言在Android源代码编译过程中经常要source,lunch等一系列命令,这个脚本实现了默认保存编译log,无参可编译,可根据需求使用参数,可以单编,清编 update-api等脚本代码#!/bin/bash##creat by Deep Lee for android build# set -o errexitusage() { cat <<USAGE...
2020-01-16 14:57:41
1040
3
原创 Bash脚本之多线程处理
前言在bash中并没有线程的概念,我们可以用多进程来模拟多线程的操作来达到同样的效果示例代码#!/bin/bash# thread number can modify if neededTHREAD=10ROOTDIR="$(pwd)"TMP_FIFO="/tmp/$.fifo"#cannot del here. this is thread controlmkfifo "$...
2020-01-16 14:39:56
2553
原创 Android C/C++获取屏触屏输入设备、屏幕分辨率
#include <stdlib.h>#include <stdio.h>#include <gui/ISurfaceComposer.h>#include <gui/Surface.h>#include <gui/SurfaceComposerClient.h>#include <ui/DisplayInfo.h>...
2020-01-14 18:17:07
4313
4
转载 C语言关键字const作用及其应用
只要学过C语言的,都有知道const这个关键字,知道是用来定义常量的,如果一个变量被const修饰,那么它的值就不能再被改变,那么还有什么其他作用呢?一、const常用作用1. 修饰局部变量const int n=5;int const n=5;/*二者是等价的,均表示变量n的值不能被改变了*/注意:在使用const修饰变量时,一定要给变量初始化,否则之后就不能赋值了!接下来看看co...
2020-01-14 16:41:02
501
转载 .gitignore使用详解
1. 简绍我们做的每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。比如我们项目中的npm包(node_modules),它在我们项目中是很重要的,但是它占的内存也是很大的,所以一般我们用Git管理的时候是不需要添加npm包的。2. 常用的规则Git忽略文件的原则忽略操作系统自动生成的文件,比如缩略图等;忽略编译生成的中间...
2020-01-14 14:45:42
645
转载 Bash脚本编程之算术运算
简介Bash所支持的算术运算和C语言是一样的,这里指的是操作符(operator)以及它们的优先级(precedence)、结合性(associativity)和值,详见Shell Arithmetic (Bash Reference Manual)。注意:如果乘号“*”在某些场景中失效,有可能是它被解释成了通配符,可尝试对其转义。1+2=3在上面这个简单的算术运算中,1和2叫做操作数/运...
2020-01-07 10:37:43
1016
转载 Bash脚本编程之数组
数组简介在bash脚本编程当中,变量是存储单个元素的内存空间;而数组是存储多个元素的一段连续的内存空间。数组由数组名和下标构成,如下。ARRAY_NAME[SUBSCRIPT]数组按照下标的类型可分为两种:索引(indexed)数组:下标为0、1、2等非负整数。关联(associative)数组:下标为用户自定义的字符串。数组的操作声明索引数组可以不声明直接使用;而关联数组如果...
2020-01-07 10:19:46
657
转载 Bash脚本编程之字符串处理
简介其实这里说得字符串处理,对应的是bash官网中的【Shell Parameter Expansion】,不过直接去看这部分内容实在是太难以理解了。字符串处理会比较好理解,平常使用应该也是足够的了。字符串切片这块在上一篇讲解数组的文章中(https://www.linuxidc.com/Linux/2020-01/161945.htm),也大概提到了Shell Parameter Expa...
2020-01-07 10:08:32
376
原创 针对特定作者/文件/文件夹的git format-patch
针对特定作者git log X..Y --author='<AUTHOR>' --format="%H" | sed 's/$/^!/g' | xargs -I{} git format-patch {}git log X…Y –author =’< AUTHOR>‘ –format =“%H”以commit id的格式生成X到Y之间author为输出sed’s /...
2019-09-27 18:29:00
2774
转载 Clang-format 配置文件
官方文档官方详细配置解释点击此处文件格式.clang-format配置文件放置规则不指定,默认字需要格式化的文件同级目录向上寻找.clang-format文件--stype指定配置文件或者默认配置参考配置文件#基于那个配置文件BasedOnStyle: GoogleLanguage: CppColumnLimit: 120BraceWrapping: # class...
2019-09-16 10:04:10
8485
原创 利用ContentObserver获取系统时间制式12/24小时
Function 1直接获取 Settings.System.getInt(getContext().getContentResolver(), Settings.System.TIME_12_24, 0);Function 2利用数据库的回调 // 注册监听 getContext().getContentResolver().registerContentObserver(Set...
2019-09-12 10:54:00
398
转载 Git常用命令整理,详细全面
Git篇安装之后第一步安装 Git 之后,你要做的第一件事情就是去配置你的名字和邮箱,因为每一次提交都需要这些信息:git config --global user.name "Deep Lee"git config --global user.email "deeplee@gmail.com"获取Git配置信息,执行以下命令:git config --list...
2018-04-10 10:10:39
425
转载 如何升级Windows 10中内置的Ubuntu子系统
微软此前与Canonical达成合作并将Ubuntu带到Windows 10系统,用户在经过简单设置后即可使用该系统。该功能对于部分开发者而言应算是个不错的消息,这样可以直接使用Windows 10完成某些Linux的命令操作。2015年7月微软发布 Windows 10 后默认获取的版本都是Ubuntu 14.04,不过目前这个版本已上升到16.04。不过在升级上和其他 Ubuntu 机器相同也是
2017-04-14 15:11:43
9303
转载 下载LineageOS 源码编译
前才准备好 至于说要安装什么依赖什么工具的,可以等出问题时再apt-get,以下仅简述流程。源码下载源码下载与其他的是一样的,git地址在这里,同样也是使用repo下载。初始化下载 这里下载cm14.1repo init -u git://github.com/LineageOS/android.git -b cm-14.1驱动下载 由于我是要使用nexus5的男人,所以需要把n5的驱动
2017-04-01 11:11:49
14917
5
转载 Android源码编译选项eng、user、userdebug的区别
http://www.2cto.com/kf/201312/265629.htmlAndroid源码编译选项eng、user、userdebug的区别1、各选项简要说明eng:debug版本user:release版本userDebug版本:部分debug版本2、详细介绍Android源码编译选项eng、user、
2016-01-26 09:59:04
1763
原创 android 强制修改adb pull 文件的路径
#强制修改adb pull 文件的路径diff --git a/adb/file_sync_service.c b/adb/file_sync_service.cindex 7933858..fa4afc5 100644--- a/adb/file_sync_service.c+++ b/adb/file_sync_service.c@@ -432,6 +432,10 @@ v
2015-11-12 14:36:46
3688
转载 Linux chattr和lsattr
PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chatt
2015-09-18 17:04:55
692
转载 Android 打印文件名、函数名、行号
Log.d(TAG,new Exception().getStackTrace()[0].getMethodName()); //函数名 Log.d(TAG, Thread.currentThread().getStackTrace()[2].getMethodName()); //函数名 Log.d(TAG, “”+Thread.currentThread().getStackTrace()[
2015-07-15 09:56:15
4046
1
转载 读取到配置文件的C语言的接口实现
转自:http://www.linuxidc.com/Linux/2015-03/115172.htm为了完成读取系统中的配置文件的某个key键的值,由于使用别人的库总是不爽,而且对于格式有一定的要求,那么就自己来写一个这样的接口以供使用了。实现原理很简单,通过打开配置文件,进行一行一行的读取,对比行中是否存在key串且此key串的下一个字符是否为'=',若是,则得到'='号之
2015-03-19 10:05:55
780
转载 Android中单击空白区域隐藏键盘
转自:http://www.linuxidc.com/Linux/2015-03/114753.htm项目开发中,产品经理拿着iPhone上的效果说Android!iPhone上在使用键盘输入时,在非输入框位置(即空白区域)点击,键盘会收起来。之前在Android上没有实现过这儿效果,首先想到的是在最外层布局文件上添加onclik事件,由于子view会优先处理事件,所以在点击其他地方时隐...
2015-03-10 10:34:21
805
转载 linux进程后端运行,脱离终端
转自:http://blog.chinaunix.net/uid-24517549-id-4030121.html我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务,结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子,您可以针对不同的场景选择
2015-02-11 14:46:34
1172
转载 一个通用的C/C++ Makefile
转自:http://www.linuxidc.com/Linux/2015-02/112713.htm写了一个通用的GNU/Linux环境下的Makefile。该Makefile适用于最后生成若干个可执行文件的小型C/C++工程,只要将该Makefile放在源码根目录下make,它会自动查找该目录下(包括子目录)的所有源码文件(支持.cpp .c .h格式)
2015-02-03 11:51:00
826
原创 ntfs-3g 移植到android
ntfs-3g源码为20140215的最新稳定版已经修改移植好的源码地址:http://download.youkuaiyun.com/detail/qq410942197/8341493
2015-01-10 10:23:00
1662
转载 兼容Windows与Linux的写日志代码
转自:http://www.linuxidc.com/Linux/2014-12/111055.htm以下代码可在Windows与Linux上正确编译和执行。日志按照QQ号和日期为单位分类进行存放,可防止不同QQ号的日志混放在一起,以及日志随着时间逐渐变大等问题。#include #include #include #ifdef WIN32#includ
2014-12-31 16:22:16
628
scrt-9.1.1-2638.ubuntu20-64.x86_64.deb for unbuntu 20.04
2022-01-11
scrt-sfx-9.1.0-2579.ubuntu20-64.x86_64.deb
2021-09-29
sshfs-win-3.5.20024-x64.msi
2020-05-27
VMware-Tools-core-10.3.2-9925305.zip
2020-01-10
Vmware Tools For Linux
2020-01-10
jpeg转BMP565图像的jni代码
2015-05-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人