自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (8)
  • 收藏
  • 关注

原创 Android SELinux介绍和配置

SELinux是什么?SELinux是一套完整的安全策略,最开始是美国国家安全局和一些公司联合设计为了针对Linux系统的安全隐患而产生的一套系统,它为每一个进程,每一个文件,每一个属性都定义了标签,用来控制进程对文件的操作的权限控制!在安卓里面,SELinux有三种状态:enforce模式:强制模式,必须有配置权限才能执行相应的访问/操作permissive模式:宽容模式,打印记录出现的越权行为,但是不禁止该访问/操作disable:关闭模式,关闭SELinux,不受SELinux权限控制...

2020-06-22 10:35:41 4299

原创 Android.bp文件详解

Android.bp文件是什么?Android.bp文件首先是Android系统的一种编译配置文件,是用来代替原来的Android.mk文件的。在Android7.0以前,Android都是使用make来组织各模块的编译,对应的编译配置文件就是Android.mk。在Android7.0开始,Google引入了ninja和kati来编译,为啥引入ninja?因为随着Android越来越庞大,module越来越多,编译时间也越来越久,而使用ninja在编译的并发处理上较make有很大的提升。Ninja的配

2020-06-22 10:16:23 27874

原创 使用Android Media Codec 播放rtsp视频流

点击打开链接使用Android Media Codec播放RTSP视频流demo只能播放H264的rtsp视频流,只是演示H264组包和硬解码,代码线程和结构并未优化,实际项目应用建议重点了解,缓冲和延时的动态平衡,丢帧策略等。优化点:1、收包和组包在一个线程里面,没有分开,如有需要做包序整理或者其他修改,可以考虑将收包和组包放在两个并行的线程;2、停止播放,没有做线程同步,反复快...

2018-11-10 11:06:11 10142 18

原创 摄像头驱动CAMERA SENSOR调试流程

【CAMERA SENSOR调试流程】一、查看原理图,确认camera sensor的通讯接口,一般为MIPI居多。一个camera 类型的MIPI接口也不复杂,由这几个信号组成:【MIPI部分】 用于给CPU发送图像帧数据,分为高速模式和控制模式,高速模式用于图像帧数据发送,电压很低,功耗略高,电压在200mv左右。控制模式,电压在1.2V左右。又分别叫做HS(high speed)模式和LP(lower power)模式。 MIPI_MCLK ...

2020-11-04 10:39:06 5510 3

原创 Android开机时间点bootchart工具查看开机时间

boot_progress_start: 4927 android虚拟机开始启动boot_progress_preload_start: 7037 ZygoteInit class preload startboot_progress_preload_end: 8837 ZygoteInit class preload endboot_progress_system...

2020-10-17 15:15:37 1401

原创 makefile文件中添加打印调试信息

打印变量而不会中断编译:$(warning $(LOCAL_PATH))打印会停止编译:$(info $(LOCAL_PATH))

2020-08-04 10:47:35 513

原创 Linux dts设备树gpio配置

给大伙分享下在DTS中如何配置GPIO口:download_pin { sp_reset_gpio = <&pio PB 7 1 1 2 0>;};在上面例子dts片段例子中,这句话的解析是:sp_reset_gpio :管脚名字,随便取,和driver代码对应即可。&pio:指向哪个GPIO控制器PB:哪组GPIO7:pin bank(内偏移,就是PB组内的第7个IO口)1:gpio功能类型(复用类型):0输入,1输出,6外部中断,7

2020-07-13 10:31:23 10185 1

原创 Android中读写文件的N种方法

不知道各位新手程序员是否有这样的困惑,在android或者java中读写文件时,我们常常面临不知道该用哪种方法来实现,今天我们一起来总结一下N种读写文件的方法。一、文件输入输出流读写文件 public void writeFileString(File file, String str){ if(file.canWrite()){ try { FileOutputStream fileOutputStream = new

2020-06-23 14:21:48 4190

原创 Android消息机制(图片)

2019-03-05 22:41:51 157

原创 Android View 的绘制流程

整理如下图:

2019-02-25 22:34:25 159

原创 Android移植ffmpeg

 环境是ubuntu16.04 LTS首先需要安装NDK,安装步骤参考https://blog.csdn.net/fanx9339/article/details/81116332,NDK版本我用的是android-ndk-r10e1、下载ffmpeg source code链接:http://www.ffmpeg.org/download.html最新版编译会有问题,我...

2018-07-20 13:35:32 824 1

原创 Linux NDK的安装

如果我们需要在安卓平台使用ffmpeg,或者其他一些c语言的库,我们需要使用NDK来编译源代码为共享库文件(.so)1、下载NDKgoogle官方下载:https://developer.android.com/ndk/downloads/下载后复制到Linux下的目录下,直接unzip android-ndk-r17b-linux-x86_64.zip来解压。2、设置系统环境...

2018-07-19 15:39:20 8226 1

转载 init进程【3】——属性服务

【转载自这里】:http://blog.csdn.net/zhgxhuaaAndroid中的属性主要用来保存一些全局性的信息,这里可以理解为Android中的“注册表”。Android中的属性服务只针对系统开发者使用,并不对应用开发者开发,这通过SystemProperties是hide的可以看出。下面让我们一起来剖析属性服务。初始化属性空间在i

2015-09-10 23:34:12 390

转载 init进程【1】——init启动过程

【转载自这里】:http://blog.csdn.net/zhgxhuaainit启动过程众所周知,Linux中的所有进程都是有init进程创建并运行的。首先Linux内核启动,然后在用户空间中启动init进程,再启动其他系统进程。在系统启动完成完成后,init将变为守护进程监视系统其他进程。Android是基于Linux的操作系统,所以init也是Android系统中用户空间

2015-09-10 23:20:34 471

转载 init进程【2】——解析配置文件

【转账自这里】http://blog.csdn.net/zhgxhuaa在前面的一篇文章中分析了init进程的启动过程和main函数,本文将着重对配置文件(init.rc)的解析做一下分析。init.rc脚本语法init.rc文件不同于init进程,init进程仅当编译完Android后才会生成,而init.rc文件存在于Android平台源代码中。init.rc在

2015-09-10 23:17:11 1045

SELinux介绍.pdf

本文档详细介绍了SELinux系统,并且详细讨论了在android平台上应该如何配置SELinux规则 SELinux是一套完整的安全策略,最开始是美国国家安全局和一些公司联合设计为了针对Linux系统的安全隐患而产生的一套系统,它为每一个进程,每一个文件,每一个属性都定义了标签,用来控制进程对文件的操作的权限控制! 在安卓里面,SELinux有三种状态

2020-06-22

Android.bp文件说明.pdf

Android新编译规则Android.bp文件语法规则详细介绍,条件编译的配置案例。 Android.bp 文件首先是 Android 系统的一种编译配置文件,是用来代替原来的 Android.mk 文件的。在 Android7.0 以前,Android 都是使用 make 来组织各模块的编译,对应的编译 配置文件就是 Android.mk。在 Android7.0 开始,Google 引入了 ninja 和 kati 来编译,为 啥引入 ninja?因为随着 Android 越来越庞大,module 越来越多,编译时间也越来越久, 而使用 ninja 在编译的并发处理上较 make 有很大的提升。Ninja 的配置文件就是 Android.bp,Android 系统使用 Blueprint 和 Soong 工具来解析 Android.bp 转换生成 ninja 文件。为了兼容老的 mk 配置文件,Android 当初也开发了 Kati 工具来转换 mk 文件生成 ninja,目前 Android Q 里边,还是支持 Android.mk 方式的。相信在将来的版本中,会彻 底让 mk 文件废弃,同时 Kati 也就淘汰了,只保留 bp 配置方式,所以我们要提前学习 bp。Blueprint 和 Soong 工具的源码在 Android/build/目录下,我们可以通过查阅相关代码 来学习!

2020-06-22

MPU9250,MPU6050数据手册资料

MPU9250,MPU6050数据手册资料,英文版,详细介绍了MPU9250的各项参数和使用方法

2018-08-04

HTU21D温湿度传感器数据手册

HTU21D传感器数据手册 中文版,详细介绍了HTU21D传感器如何使用。 包括各个寄存器的相关介绍,和范例驱动代码

2018-08-04

MS5837-30BA数据手册

MS5837压力传感器数据手册 英文版,很详细的介绍了MS5837如何使用 包括各个寄存器介绍和范例驱动代码

2018-08-04

libyuv安卓Android 编译好SO库文件及源代码

最新版libyuv,编译好的arm64-v8a,armeabi-v7a,x86,x86_64平台的动态库文件,安卓可以直接使用,YUV转RGB,效率比ffmpeg的swscale高很多。推荐使用

2018-08-03

Android MediaCodec RTSP H264播放器客户端

Android RTSP H264播放客户端。自己组包,喂给Android MediaCodec解码器,实时播放直播流。史上最简单的demo。亲测在三星S8+,小米平板,华为平板,摩托罗拉手机可用。

2018-06-22

APM硬件信息Visual studio

apm硬件信息,适配Visual Studio,使Visual Studio可识别APM硬件版本。方便大家快速解决该相关问题,Visual Studio可以使用!

2018-01-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除