- 博客(14)
- 资源 (4)
- 收藏
- 关注
原创 Android SELinux avc dennied权限问题解决方法
这篇文字本人原创于2015年,并作为原厂发布文档release,当时并未上传博客,估计已经被很多网友发表了。1. 概述SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。然而,在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有“万能的root权限”,也不能获取全部的权限。本文旨在结合具
2017-05-25 18:10:37
92197
15
原创 Android开发中如何匹配layout资源(layout-sw480dp layout-sw600dp-land layout-sw720dp-port)
Android应用里里,大家一定饱受各种layout-sw480dp layout-sw600dp-land layout-sw720dp-port之苦,往往不知道自己的平板加载的是哪个Layout而不得不一个个尝试,网上一大堆说不清的教程。本人查阅很多资料,给大家分享一种计算方法确定自己平板所加载哪个dp的资源。事实上,sw不是software的,意思,我猜是shortest width,最
2015-05-27 22:21:25
19047
3
原创 Android 5.x SEAndroid/SElinux内核节点的读写权限
Android 5.x下,因为采取了SEAndroid的安全机制,即使拥有root权限,或者对某内核节点设置为777的权限,仍然无法在JNI层访问。本文将以用户自定义的内核节点/dev/wf_bt为例,手把手教会读者如何在JNI层获得对该节点的访问权限。第一步:找到需要访问该内核节点的进程(process),笔者自己这个节点由system_server进程来访问第二步:
2015-03-19 18:22:41
10414
原创 白话浅谈MPEG2-TS之demux
TS都是一个TS包组成,每个包都是固定188个字节,每个包都是4个字节包头开始,包头第一个字节是固定的0x47。那其他184个字节是什么呀,里面基本都装的是音频或者视频解码数据。如果给定一个TS文件,怎么去寻找解码音视频解码数据呢? 每个TS包的前4个字节的包头里都有一个PID,首先,一个个遍历TS包,我们找到PID为0的TS包,这个包叫PAT,这个PAT包里包含了PMT的PID
2014-09-23 19:40:47
6040
原创 Android用surface直接显示yuv数据(三)
本文用Java创建UI并联合JNI层操作surface来直接显示yuv数据(yv12),开发环境为Android 4.4,全志A23平台。package com.example.myyuvviewer;import java.io.File;import java.io.FileInputStream;import android.app.Activity;import androi
2014-07-14 15:31:10
23478
7
原创 Android用surface直接显示yuv数据(二)
上一篇文章主要是参照AwesomePlayer直接用SoftwareRenderer类来显示yuv,为了能用到这个类,不惜依赖了libstagefright、libstagefright_color_conversion等动态静态库,从而造成程序具有很高的耦合度,也不便于我们理解yuv数据直接显示的深层次原因。 于是我开始研究SoftwareRenderer的具体实现,我们来提取Soft
2014-07-10 11:36:28
15026
2
原创 Android用surface直接显示yuv数据(一)
研究了一段时间Android的surface系统,一直执着地认为所有在surface或者屏幕上显示的画面,必须要转换成RGB才能显示,yuv数据也要通过颜色空间转换成RGB才能显示。可最近在研究stagefright视频显示时发现,根本找不到omx解码后的yuv是怎么转换成RGB的代码,yuv数据在render之后就找不到去向了,可画面确确实实的显示出来了,这从此颠覆了yuv必须要转换成RGB才能显示的真理了。
2014-07-04 14:13:04
15326
6
原创 Android用C++创建surface显示RGB数据
以下在Android 4.4平台开发测试,#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include
2014-07-03 10:26:52
7603
原创 stagefright之MPEG4Extractor(三)(stsz,stss)
Sample Size Atoms - STSZ个人觉得该box的作用仅仅就是获得sample的总数以及每个sample的大小。猜测这里的sample总数应该和上面stts中sample count总数相加相等,实际验证确实是这样的。字段长度 ( 字节)描述尺寸
2014-06-13 16:05:43
1907
原创 stagefright之MPEG4Extractor(二)(stts,stsc,stco)
上一篇,我们讲了,Track是这样一个结构体:struct Track { Track *next; sp meta; uint32_t timescale; sp sampleTable; bool includes_expensive_metadata; bool skipTra
2014-06-13 15:41:31
2968
原创 stagefright之MPEG4Extractor(一)
2014/06/05 mp4文件都是由各个box组成,每个box前四个字节为box的size,第二个四字节为box的type,box type有ftyp moov trak 等等好多种.在MPEG4Extractor::parseChunk(off64_t *offset, int depth)里解析各个box。里面的Track主要是建立video track和audio tr
2014-06-05 23:08:38
2823
原创 Android调用系统相机拍照后不进入预览确认
private static Intent getTakePhotoIntent(String fileName) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE, null); final String newPhotoPath = ContactPhotoUtils.pathForNewCameraPhoto(fileN
2014-05-07 19:09:01
8785
4
原创 gcc与Makefile(一)
最近在学C,顺便也学了Makefile,很多文章只单纯讲Makefile,丝毫不讲Makefile的核心gcc。gcc是用来编译的源代码的,就像Visual C++,Turbo C++一样,只不过gcc是命令行,没有图形界面,其基本命令如下:编译:gcc -c hello.c (生成目标文件hello.o)连接:gcc -o hello hello.o(规则为 gcc -o 最终生成的
2014-02-14 19:57:35
963
单片机汇编密码锁—附截图
2010-12-16
C代码 汉英分离工具
2009-03-14
用C编写汉英分离工具
2009-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人