- 博客(102)
- 资源 (11)
- 收藏
- 关注

原创 Android sepolicy简要记
安全上下文Seapp_contextsFile_contextsService_contextsProperty_contextsHwservice_contexts安全策略常见错误修改违反规则的同时又neverallow问题修改方式一:更改type方式二 通过binder/socket 等方式连接APP 访问方式三 更改LabelProcess 无法访问某个新增d...
2018-09-07 18:36:12
24944
4

原创 使用ffprobe获取视频每一帧的信息
使用ffprobe对音视频流的结构的分析对进行音视频的处理会很有帮助可以通过使用ffprobe –help来查看一些详细的参数的意义usage: ffprobe [OPTIONS] [INPUT_FILE]Main options:-L show license-h topic show help-? topic ...
2018-08-29 17:31:32
16996
1
原创 wifi adb连接
adb一般通过数据线连接可以进行android手机的调试工作,现在提供一种无线的连接方式:wifi adb前提:电脑和Android设备连接在同一个WIFI网络环境(同一个局域网)可以通过电脑执行ping android设备的IP例如ping 172.28.40.67,如果ping成功,说明可以连接C:\Users\Administrator> ping 172.28.40.67...
2019-07-02 18:05:41
915
原创 聊一聊 android properties
文章目录1 Property contexts1.1 plat_property_contexts1.2 nonplat_property_contexts2 property的访问约束2.1 非system分区的访问约束限制2.2 system分区的访问约束限制3 Property Set Permission3.1 开始基于SELinuxpolicy3.2 对于APK set system p...
2019-04-12 21:17:07
6579
原创 Android中的四大组件回顾
添加摘要 @[toc]1 Activity1.1 Activity的启动模式standard :每次启动都会创建activity,系统的默认模式(可以不指定)single top : 如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不...
2019-03-27 20:14:11
2230
3
原创 Android 死锁问题分析记录
问题描述:binder thread 和 ActivityManager之间发生死锁Traces:"ActivityManager" prio=5 tid=12 Blocked ... at ActivityManagerService.updateCpuStatsNow(ActivityManagerService.java:3107) - waiting to lock &l...
2019-03-13 11:18:14
4514
1
原创 SWT问题分析总结
文章目录1 概述2 SWT机制2.1 原理设计框图2.2 Watchdog的初始化2.3 Watchdog的运作3 导致 SWT 重启原因4 log分析4.1 搜索关键 watchdog4.2 搜索关键字 held by4.3 检查Binder的Server 端4.3.1 重要信息4.3.2 如何确定binder的对端5 案例1 概述一般手机异常reboot的原因:Reboot rootca...
2019-03-06 17:23:35
11049
3
转载 Android P 外置 SD 卡写入权限问题
概述Android 9.0 后,发现文件管理器在写入外置 SD 卡时出现了写入失败的问题,定位到 File.canWrite() 方法,发现返回了 false。经过讨论追踪定位,发现是由于 Google 的一个更改导致的:diff --git a/data/etc/platform.xml b/data/etc/platform.xmlindex 04006b1..3021555 10064...
2019-03-01 11:39:37
11435
5
原创 ubuntu系统下python2 和python 3切换
查看版本一: 确认本机下的python默认版本。调出终端,输入python即可查看默认的版本:如果想要查看本机自带的python的另一个版本为多少,需要命令python3即可切换python版本在Python 2和 python 3之间自由切换输入如下:sudo update-alternatives --config pythonupdate-alternatives: err...
2019-02-26 19:44:19
1495
1
原创 如何预置SSL Certificates 到 Android系统
文章目录1 概述2 预置方法1 概述SSL certificates are required for running web sites using the HTTPS protocol.当你访问某个网站时出现 security warning 说明 SSL 证书没有签名或者不被手机允许Android has default trusted certificate authority (...
2019-02-21 15:28:38
2252
原创 Android系統中的LocalService
Google将service分成binderservice和localservice。如果service只在本进程使用,则可以将这个service发布为localservice,避免进程间通信。1 Localservice的定義實現下面以DeviceStorageMonitorService來解說,該service繼承自SystemService,通過publishLocalService发布...
2019-01-25 20:25:01
5839
原创 CtsAppSecurityHostTestCases#android.appsecurity.cts.DirectBootHostTest#testDirectBootEmula failed
[Google CTS]Fail Case:CtsAppSecurityHostTestCases#android.appsecurity.cts.DirectBootHostTest#testDirectBootEmulatedAndroid P测试套件:9.0_R5项目中由于vdf需求,做了GMS overlay,导致此项cts测试failedfailed information:C...
2019-01-23 10:41:59
2808
原创 android storage 学习笔记 (1)
Storage 概述Android 支持包括便携式存储和内置存储; 便携式存储是指物理介质(如 SD 卡或 USB 设备),用于进行临时数据传输/文件存储, 未经格式化、加密或绑定到特定设备; 从 Android 6.0 开始,Android 支持可合并的存储设备,这种存储设备是指可以像内部存储设备那样进行加密和格式化的物理介质(例如 SD 卡或 USB 设备)。移动存储设备可存储各类应用数据...
2019-01-03 21:26:47
1521
转载 Android 中Dialog点击空白处會消失问题
两种常规方式实现dialog不會因爲點擊空白處而消失Dialog控件这种情况是最简单的,Android本身自己就提供了相应的方法来实现。使用如下代码即可:dialog.setCanceledOnTouchOutside(false);Dialog样式用Activity使用Dialog样式来实现自定义Dialog样式来实现不同的Dialog,但是很多情况下我习惯直接用activity来...
2018-12-28 20:47:24
4578
1
转载 Android应用程序签名过程和解析过程
非对称加密算法非对称加密算法需要两个密钥:公开密钥(简称公钥)和私有密钥(简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法是数字签名和数字证书的基础,大家非常熟悉的RSA就是非对称加密算法的一种实现。消息摘要算法消息摘要...
2018-12-11 14:02:55
587
原创 关于应用程序根证书
概述:互联网上传输的任何数据都可以轻而易举的被发送者和接收者之外的第三方所获得。如果敏感的或隐私的数据以明文方式发送,将会造成信息的泄露。例如,网上银行的各种操作,电子商务交易的数据等是不允许交易的第三方获悉的。因此我们需要把数据加密后传输,通常我们称传输加密数据的链接叫做安全链接。安全链接和安全的数据传输面临三个难题:1. 如何确认交易双方不是仿冒的。2. 怎样对数据进行加密。3. 如何保证...
2018-12-11 13:30:57
2051
转载 两种禁止选择网页文字的办法
方法一user-select并不是一个W3C的CSS标准属性,浏览器支持的不完整,需要对每种浏览器进行适配,CSS代码如下:body{-moz-user-select: none; /*火狐*/-webkit-user-select: none; /*webkit浏览器*/-ms-user-select: none; /*IE10*/-khtml-user-select: none;...
2018-11-17 16:13:26
905
转载 耳机调试学习记录
文章目录耳机阻抗AUDIO DTSI耳机初始化耳机插拔的中断处理耳机类型的处理阻抗值的读取耳机阻抗检测log耳机阻抗具有电阻、电感和电容的电路里,对交流电所起的阻碍作用叫做阻抗。阻抗常用Z表示。阻抗由电阻、感抗和容抗三者组成,但不是三者简单相加,阻抗的单位是欧。耳机的阻抗是交流阻抗的简称,阻抗越小,耳机越容易出声、越容易驱动。电视等有耳机插孔输出的机器上,一般使用中高阻抗的耳机比较适宜。低阻...
2018-09-29 16:51:37
4363
3
转载 Windows远程桌面Ubuntu16.04
Windows远程桌面Ubuntu16.04Ubuntu端软件安装Windows端远程桌面方法最好内网使用,外网需要有固定IP地址,且3389端口访问权限。本方法在Ubuntu 16.04和18.04的系统中测试通过。其它版本系统有问题,可多上网搜索解决方案。Ubuntu端软件安装需要管理员安装的软件Ubuntu16.04下以下命令行皆是在终端中运行:安装xrdpsudo ap...
2018-09-28 11:38:32
511
转载 Android 8.0 architecture partitions
Android partitions. ●system.img. Contains mainly Android framework. ● boot.img. (kernel/ramdisk) Contains Linux kernel + Android patches. ● vendor.img. Contains SoC-specific code and configuratio...
2018-09-07 16:36:03
666
原创 android sepolicy 最新小结
两种模式标签、规则和域实现 SELinuxneverallow 规则编译sepolicySource filesPlatform public sepolicyPlatform private sepolicyPlatform private mappingsepolicy兼容性Object ownership and labelingType/attribute n...
2018-09-07 16:28:04
21934
3
转载 java虚拟机
1. 运行时数据区域程序计数器(Program Counter Register)Java虚拟机栈本地方法栈Java堆方法区运行时常量池 Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区1. 运行时数据区域Java虚拟机在执行Java程序的过程中...
2018-08-28 13:48:29
144
转载 Java的存储区域
寄存器(register):这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。堆栈(stack):位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,...
2018-08-27 14:16:39
208
原创 Android AudioFlinger回顾
AudioFlingerAudioFlinger的启动AudioFlinger的创建AF之loadHwModule 和 openOutputAudioPolicyService的启动AudioPolicyManager的创建loadHwModuleopenOutputTrack的创建AudioFlinger dumpAudioFlingerAudioT...
2018-08-17 18:05:10
6985
原创 static和extern的区别
C中的static关键字static 修饰局部变量static 修饰全局变量static 修饰函数C++的static关键字关键字extern实现类C和C++的混合编程C++中调用C的代码C中调用C++的代码C中的static关键字static可以用来修饰局部变量,全局变量以及函数static 修饰局部变量一般对于局部变量是存放在栈区...
2018-08-16 11:40:10
815
原创 Android 系统之 AudioTrack 回顾小结
AudioTrack1. MODE_STATIC 和 MODE_STREAM2. audio buffer3. 应用层AudioTrack的使用关于write()关于StreamTypegetMinBufferSize()4. Framework native层AudioTrack的创建5. AudioTrack的处理几个音频概念transfer_typeAudioT...
2018-08-13 19:05:10
5682
1
原创 Android 中的锁Mutex和条件Condition
MutexMutex是互斥类,用于多线程访问同一个资源的时候,保证一次只有一个线程能访问该资源Mutex的声明和实现//Mutex.h class Mutex {48 public:49 enum {50 PRIVATE = 0,51 SHARED = 152 };53 54 ...
2018-08-02 16:46:47
2657
原创 Handler的使用小结
Android UI的控件都不是线程安全的,如果允许并发访问,那控件的状态就是未知;所以Android只允许在 一个线程内对UI控件进行更新,这个线程就是创建View时的线程,默认状态下,这个线程就是主线程,这也就是为什么我们在对UI组件进行更新的时候,必须回到主线程去通过Handler操作。在使用Handler的时候,有时候处理不当就会导致内存泄露, 当我们试图使用内部类或者匿名内部类重写H...
2018-08-01 17:12:03
330
原创 GTS测试failed cases 小结
[GTS] GtsPackageManagerHostTestCasescom.google.android.pm.gts.PackageManagerHostTest#testSoundPool failed套件版本:6.0_R1 问题描述: com.google.android.pm.gts.PackageManagerHostTest#testSoundPool fail ...
2018-07-25 13:34:14
3635
5
原创 看Android源码学习之Java的clone():深复制与浅复制
在看AMS时遇到 android/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java final ProcessRecord getProcessRecordLocked(String processName, int uid, boolean keepIfLarge) ...
2018-07-19 18:15:38
2074
原创 【MTK】user版本下输出aee db 和 anr trace
Aee 属性persist.mtk.aee.filteraee 有对上层三方app 进行过滤, 如需抓三方app 的exception, 可以设置属性: setprop persist.mtk.aee.filter 0// frameworks/base/core/java/com/mediatek/aee/ExceptionLog.javapublic voi...
2018-06-29 15:12:06
3417
原创 关于 ringtone_cache
ringtone cache的路径Android N版本google 目前将铃声分为actual ringtone和cache ringtone,前者以ringtone为key将文件uri存储在xml文件settings_system.xml里,后者是以stream file的形式存储在 ringtone_cache 的resource中. ringtone cache的uri形式...
2018-05-23 15:47:49
1699
转载 C++11 新特性
变量和基本类型1.1 long long 类型 扩展精度浮点数,10位有效数字1.2 列表初始化 初始化的几种不同形式,其中用花括号来初始化变量称为列表初始化;比如:int i = 0;int i = {0};int i{0};int i(0);需要注意的是,当用于内置类型的变量时,这种初始化形式有一个重要的特点:如果我们使用初始化且初始值存在丢失信息的风险,则编...
2018-05-16 17:50:21
1775
转载 C++ 友元
友元(frend)机制允许一个类将对其非公有成员的访问权授予指定的函数或者类,友元的声明以friend开始,它只能出现在类定义的内部,友元声明可以出现在类中的任何地方:友元不是授予友元关系的那个类的成员,所以它们不受其声明出现部分的访问控制影响。通常,将友元声明成组地放在类定义的开始或结尾是个好主意。友元函数类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护...
2018-05-16 16:28:07
153
转载 C++模板
函数模板类模板模板特殊化模板的参数值模板与多文件工程函数模板Function templates 模板(Templates)使得我们可以生成通用的函数,这些函数能够接受任意数据类型的参数,可返回任意类型的值,而不需要对所有可能的数据类型进行函数重载。这在一定程度上实现了宏(macro)的作用。它们的原型定义可以是下面两种中的任何一个:template fu...
2018-05-16 10:50:32
170
原创 C++ 指针
野指针指向垃圾内存的指针: (1)指针变量没有初始化 (2)指针被delete或者free之后没有置为空 (3)指针操作超越了变量的范围空指针指针赋值为0;0*5等之后,指针即变成空指针;即:空指针不指向任何实际的对象或者函数;NULL指针和零指针都是空指针。void* 类型指针void* 类型指针:通用变体类型指针;可以不经转换,赋给其他指针,函数指针除外;malloc...
2018-05-15 21:16:44
170
原创 Android系统之智能指针sp和wp回顾
概述Android中的智能指针是对C++中的对象回收机制的封装,C++中的构造函数和析构函数是在对象new出来和delete的时候调用的,但是一个在销毁一个对象的时候,我们需要手动的调用delete关键字来销毁,但是在Java中我们无需在乎这些对象的销毁工作,都是由垃圾回收器来做了,所以在Android系统层,为了达到Java的这个自动管理对象的效果,就出现了智能指针的概念了,他的出现类似于J...
2018-05-14 19:45:39
556
原创 C++ virtual关键字
Virtual是C++ OO机制中很重要的一个关键字。只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数。基类的函数调用如果有virtual则根据多态性调用派生类的,如果没有virtual则是正常的静态函数调用,还是调用基类的。虚函数的应用看下面的一段代码的输出结果:class Base{public:Base(){}public: ...
2018-05-14 14:22:57
945
转载 Android Binder机制 原理
Linux进程空间内核模块/驱动Binder 架构Binder 机制Binder 进程与线程ServiceManagerServiceManager 启动ServiceManager 注册服务ServiceManager 获取服务进行一次完整通讯Linux进程空间一个进程空间分为 用户空间 & 内核空间(Kernel),即把进程内 用户 &a...
2018-05-11 19:38:37
1535
转载 Linux操作系统中的内存映射
内存映射 在 Linux操作系统中与高效的跨进程通信 & 文件操作息息相关。定义关联 进程中的1个虚拟内存区域 & 1个磁盘上的对象,使得二者存在映射关系 被映射的对象称为:共享对象(普通文件 / 匿名文件)作用若存在上述映射关系,则具备以下特征:在多个进程的虚拟内存区域 已和同1个共享对象 建立映射关系的前提下,若 其中1个进程对该虚拟区域进行写操作...
2018-05-11 17:29:44
2857
pybootchartgui
2019-02-26
Package: pybootchartgui (0.14.4-3)
2019-02-26
tc_script.sh
2017-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人