
android平台开发
文章平均质量分 77
lzpdz
这个作者很懒,什么都没留下…
展开
-
Android nfc读卡模式流程
最近一个项目需要将Android的nfc接口底层通过串口对接到外围一个单片机上,而nfc设备是接在单片机上的,这就需要对Android的nfc框架进行梳理,确定与单片机对接的接口通讯;上网查找发现资料不少,本次分析主要参考了以下大神的博客,基本上已经是非常清楚了!按照自己的理解对相关部分进行整理!nfc的相关背景知识请参照此博客查阅即可:http://blog.youkuaiyun.com/xuwen03原创 2017-04-19 17:19:24 · 10018 阅读 · 0 评论 -
Android透传root权限控制
项目需求:特定应用需要用到root权限运行部分命令,如iptables等;分解两部分:1、开启系统服务,接收到cmd,然后调用sosu(私有root程序);2、系统底层实现sosu服务,供上层调用我这里负责系统底层实现;1、先说明下root相关的内容在4.3的变化:由于在Android4.3中,从如下的open Source Code :da原创 2016-12-07 10:32:20 · 4524 阅读 · 0 评论 -
Android系统开放App程序监听Home键的权限
项目的安全需要:要求客户APP在申请了特定ENABLE_HOME权限后,允许监听home键并对HOME键的系统功能进行屏蔽;修改基于RK平台Android 5.1.1系统经过对系统代码的分析,按照用户按下HOME键的流程整理如下:系统服务进程中:1、framework/base/policy/src/com/android/internal/policy/impl/原创 2016-11-11 16:18:21 · 2138 阅读 · 0 评论 -
framework中自定义系统级权限
转:http://blog.163.com/hero_213/blog/static/398912142014111922139370/在android的framework源码中添加自定义的permission以便限制应用程序调用自定义的系统接口,在frameworks/base/core/res/AndroidManifest.xml 中添加: an转载 2016-11-11 17:09:21 · 764 阅读 · 0 评论 -
Android开关机定制(动画,声音)
转:http://blog.youkuaiyun.com/mk1111/article/details/9472603系统通常默认支持开机动画,开机关机铃声服务倒是预先定义了,不过使用时需要在/sysytem/media/下添加相应的音频文件。长按Power键弹出关键选项,关机时也只是显示进度条,而不是我们期望的关机动画同时伴有关机铃声,当然在做二次开发的时候,这些都是可以定制的。下面将逐步分析如何实转载 2016-11-11 16:50:13 · 9343 阅读 · 1 评论 -
Android Property System | Android属性系统
原贴网址:http://blog.youkuaiyun.com/jackyu613/article/details/6136620属性系统是android的一个重要特性。它作为一个服务运行,管理系统配置和状态。所有这些配置和状态都是属性。每个属性是一个键值对(key/value pair),其类型都是字符串。 从功能上看,属性与windows系统的注册表非常相似。许多转载 2016-08-11 09:32:36 · 608 阅读 · 0 评论 -
唤醒流程之背光控制
本文基于rk3128平台代码分析;唤醒流程中控制背光的流程如下:1、frameworks/base/services/core/java/com/android/server/display/DisplayPowerController.javaprivate final LightsManager mLightsmLights = LocalServices.getS原创 2016-08-22 11:59:50 · 1862 阅读 · 0 评论 -
关于Android电池管理系统(二)
一、healthdlinux用户空间上,Android首先通过healthd守护进程去监控/sys/class/power_supply文件系统中的各个状态,并通过Binder通知到Android framework层; 二、BatteryService.java代码路径:frameworks/base/services/java/com/android/server/Batt原创 2016-07-08 18:51:52 · 916 阅读 · 0 评论 -
关于Android电池管理系统(一)Linux驱动部分
一、概述android系统电池部分的驱动程序,继承了传统linux系统下的Power Supply驱动程序架构,Battery驱动程序通过Power Supply驱动程序生成相应的sys文件系统,从而向用户空间提供电池各种属性的接口。Linux标准的 Power Supply驱动程序所使用的文件系统路径为:/sys/class/power_supply ,其中的每个子目录表示一种能源供应设原创 2016-07-08 18:17:39 · 7302 阅读 · 0 评论 -
rk3128 控制GPIO
本篇主要讲在Android系统中的linux下控制GPIO的方法,android 通过jni控制GPIO可基于本篇内容继续开展; linux控制GPIO基本上有两种方法,一是通过pinctrl体系,直接使用/sys下的文件进行控制,另一种就是编写驱动,在驱动中进行控制,下面分别进行介绍:一、是用sys文件系统控制(更深入的介绍请移步:http://blog.chinaunix.ne原创 2016-07-07 19:46:17 · 6013 阅读 · 0 评论 -
android hasSystemFeature函数及系统特性配置
android系统中有一组的特性是通过/system/etc/permissions/下面的xml配置文件来进行控制的,这里总结下相关内容! 1、获取特性API(frameworks\base\services\java\com\android\server\pm) mPM.hasSystemFeature(name)经过AIDL实际上调用到文件PackageManagerSer原创 2016-07-06 18:02:31 · 6694 阅读 · 0 评论 -
android5.1中自动更新时间机制
NITZ:NITZ(Network Identity and Time Zone)或网络标识和时区,是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息。NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的系统时钟。可更新 时间和时区;NTP:NTP(Network Time Protocol)提供准确时间,首先原创 2016-07-06 17:16:56 · 2318 阅读 · 0 评论 -
Android framework系统默认设置修改
转载请注明出处:http://blog.youkuaiyun.com/tiantian715/Launcher 总结: 1、launcher的布局太居中,要想两边拉伸 apps_customize_pageLayoutPaddingLeft">40dp apps_customize_pageLayoutPaddingRight">40dp转载 2016-12-23 16:11:39 · 934 阅读 · 0 评论 -
SELinux policy问题解决思路总结
本文转载自:http://www.th7.cn/system/lin/201512/147098.shtml一、了解SELinux基本概念,这个网上资料很多,参考下(http://jingpin.jikexueyuan.com/article/55398.html)http://blog.youkuaiyun.com/innost/article/details/19299937/ht转载 2016-12-07 10:42:10 · 4135 阅读 · 0 评论 -
Android自动化基础—简单例子(启动相机拍照-重复执行1000次)
转载:http://blog.youkuaiyun.com/gb112211/article/details/42354671一个简单的测试需求如下: 测试相机的过程中发现一极低概率性问题,在进入相机拍照后退出的过程中相机可能会crash,概率大概为千分之一。相机的使用场景相当的平凡,所以千分之一(0.001)的概率看似很小,但对于相机拍照的场景,相对而言,这个概率就很高了。所以我们需要转载 2017-03-16 14:55:36 · 5518 阅读 · 1 评论 -
Linux串口驱动分析write
转自:http://blog.youkuaiyun.com/longwang155069/article/details/42780331/*和read的分析过程一样, 我们首先分析tty_write*/ /*最重要的就是do_tty_write函数。 前面都是一些合法性判断*/ static ssize_t tty_write(struct file *file,转载 2017-03-29 13:59:34 · 1661 阅读 · 0 评论 -
Linux串口驱动分析read
转自:http://blog.youkuaiyun.com/longwang155069/article/details/42776059/*串口read函数分析 * 当应用程序调用read系统调用时,会调用tty_fops中的tty_read * 接下来分析tty_read函数 * * 其中最重要的就是ld->ops->read(tty,file,buf,count)转载 2017-03-29 13:58:07 · 802 阅读 · 0 评论 -
Android gdb调试方法
准备工作:1、ubuntu系统安装adb工具;2、ubuntu安装android开发源码;3、设备上烧写userdebug rom(一般自带gdbserver,如果没有,需要编译一个进去);调试步骤:1) 启动要调试的程序直接在调试设备上点击你要启动程序的图标,就可以让程序跑起来了。光跑起来还不行,还需要知道这个程序在系统中当前的进程号是多少。可原创 2016-10-27 11:13:39 · 1173 阅读 · 0 评论 -
Android Permission权限控制机制
转:http://blog.youkuaiyun.com/vshuang/article/details/440016611、概述 Android 是一个权限分离的系统 。 这是利用 Linux 已有的权限管理机制,通过为每一个 Application 分配不同的 uid 和 gid , 从而使得不同的 Application 之间的私有数据和访问( native 以及 J转载 2017-01-21 16:29:33 · 854 阅读 · 0 评论 -
谷歌4.4新增对外置sd读写权限的说明
因为谷歌考虑安全问题所以对于SD卡的权限作了限制.根据该版本的API改进,应用程序将不能再往SD卡中写入文件。在Android开发者网站的 “外部存储技术信息”文档中描述道: WRITE_EXTERNAL_STORAGE只为设备上的主要外部存储授予写权限,应用程序无法将数据写入二级外部存储设备 ,除非综合权限指定了应用程序的包目录。怎么解决呢?第一是:修改源码system/vold/转载 2017-01-20 11:24:05 · 1124 阅读 · 0 评论 -
添加资源到android源码中-修改framework层
转:http://blog.youkuaiyun.com/djun100/article/details/12972917编译带有资源的jar包,需要更改frameworks层,方法如下: 一.增加png类型的图片资源 1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/res/res/drawable-mdpi里。但是要确保没有与原转载 2017-01-20 11:19:10 · 528 阅读 · 0 评论 -
Android添加自定义系统服务
需求,希望在Android ROM中添加相应的LogService服务,保存每次的log,用于处理系统死机问题;本文档基于rk的5.1.1系统;基本框架:5.1.1系统在framework/base/services/java/com/android/server/SystemServer.java文件中startOtherServices函数在启动启动了core服务后,开转载 2016-11-17 09:43:46 · 3266 阅读 · 1 评论 -
Android sdk的基础编译命令
刚开始进行Android开发,基础的编译命令一再忘记,这里记录下,便于查找熟悉:1、编译前首先设置环境变量:2、编译各个模块的命令:make -j4 recoveryimage原创 2016-06-16 08:49:51 · 804 阅读 · 0 评论 -
Android HOME应用定制和固化
项目背景需求:1、我们的系统要固定一个HOME应用,并且用户无法通过安装其他Launcher3应用来更改;2、在生产过程中,通过不同的初始化,进入不同的Launcher应用;根据以上的需求,我们先来理一理Launcher应用的流程:1、Android在进行各种服务启动之后运行((ActivityManagerService)ActivityManagerNa原创 2016-12-28 15:34:19 · 1284 阅读 · 0 评论 -
make_ext4fs参数的权限说明
sudo ./make_ext4fs -l 512M -s -a system ZNKG5-new.img ./ZNKG5Creating filesystem with parameters: Size: 536870912 Block size: 4096 Blocks per group: 32768 Inodes per gr转载 2016-12-28 14:51:42 · 3663 阅读 · 0 评论 -
Android属性之build.prop生成过程分析及各系统初始配置修改
一、build.prop生成过程Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product//system/目录下。在Android运行时刻可以通过property_get()[c/c++域] / SystemProperties_get*(原创 2016-06-17 16:28:17 · 2856 阅读 · 2 评论 -
android系统-3G4G通信模块适配
一、在内核源码drivers/usb/serial/option.c文件中添加相关模块的pid和vid,有些模块还需要厂家提供的系统上的驱动。下面列举两个模块以及pid和vid:{ USB_DEVICE(0x16d5, 0x6502) }, //DTM518{ USB_DEVICE(0x05C6, 0x9025) }, //L250/SIM939/L570重新编译内核并烧写后,原创 2016-06-29 10:58:54 · 2480 阅读 · 0 评论 -
Android JNI 使用的数据结构JNINativeMethod详解
Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:typedef struct {const char* name;const char* signature;v转载 2016-05-31 11:09:56 · 670 阅读 · 0 评论 -
(一)为Android系统编写Linux内核驱动程序HelloWorld
android基于Linux内核,故该驱动与Linux驱动没有任何不同,为了保证流程的完整性,故这里写一个Hello驱动,供后面的android学习使用,对于已经熟悉linux驱动的朋友,可以跳过此部分的学习,复制驱动编译即可;一、进入到kernel/common/drivers目录,新建hello目录: USER-NAME@MACHINE-NAME:~/Andro原创 2016-01-22 15:48:48 · 2653 阅读 · 0 评论 -
linux上使用eCryptFS加密文件夹的方法
从前有一个摄影师,他不懂加密重要文件,也不懂修电脑,结果你懂的。以下就介绍下linux的加密方法及eCryptFS;加密的类型我们基本上有两种不同的方法可以对文件和目录进行加密。一种方法是,文件系统级加密,只有某些文件或目录(比如/home/alice)选择性地加密。在我看来,这是一种理想的入门方法。你没必要重新安装一切来启用或测试加密。不过,文件系统级加密存在一些缺点。比如说原创 2016-01-20 10:23:34 · 10664 阅读 · 1 评论 -
Android Recovery 升级整体架构和流程
转:http://www.360doc.com/content/16/0120/17/30286065_529338288.shtmlAndroid Recovery: 功能简介Android支持Recovery模式。在某些操作之后,系统会自动重启并进入到Recovery模式,用户按组合键开机(HOME+POWER),也可进入Recovery模式。该模式提供如下功能:1、擦除用户数转载 2016-01-20 17:03:17 · 690 阅读 · 0 评论 -
利用dm-crypt来创建加密文件系统
转:http://blog.youkuaiyun.com/cndes/article/details/6474284Linux使用加密文件系统后,数据的安全能得到很好的保护。在这种情况下,即使把我们的机器送给黑客,只要他们没有密钥,黑客看到的数据只会是一堆乱码,毫无利用价值可言 本文将详细介绍利用dm-crypt来创建加密文件系统的方法。与其它创建加密文件系统的方法相比,dm-crypt系统转载 2016-01-20 10:08:31 · 895 阅读 · 0 评论 -
AAndroid系统的启动分析init篇
转:http://www.bubuko.com/infodetail-1012868.html从大的方面来说,Android系统的启动可以分为两个部分:第一部分是Linux核心的启动,第二部分是Android系统的启动。第一部分主要包括系统引导,核心和驱动程序等,由于它们不属于本篇要讲的内容,这里就不再讨论。在本篇博客中,我们重点讲解Android系统的启动,这一过程主要经过两个阶段,分别转载 2015-12-14 11:54:50 · 506 阅读 · 0 评论 -
安卓使用fuse sdcard 带来的一些问题及解决方法
转:http://www.sjsjw.com/kf_jiagou/article/023422ABA014753.asp1、/data和/sdcard 动态占用空间,如果用户通过/sdcard将整个分区填满,则会导致系统无法启动。 解决办法,就是设置一个/sdcard/可用的上限,不至于导致系统崩溃至无法启用。 具体可以参考mtk修改的代码:\kernel\fs\fuse\in转载 2015-12-14 10:59:02 · 3290 阅读 · 0 评论 -
Android存储子系统流程--vold
转:http://my.oschina.net/xcy2011sky/blog/492590?fromerr=Te05DFLK目录[-]系统分区挂载外置分区挂载Vold守候进程分析Uevent测试程序Vold的启动分析vold的工作流程MountService分析:MountService总体框架MountService的启动SDcard分析转载 2015-12-14 11:42:58 · 2553 阅读 · 0 评论 -
图解Android - Zygote, System Server 启动分析
转:http://www.cnblogs.com/samchen2009/p/3294713.htmlInit 是所有Linux程序的起点,而Zygote于Android,正如它的英文意思,是所有java程序的'孵化池'(玩过星际虫族的兄弟都晓得的)。用ps 输出可以看到>adb shell ps | grep -E 'init|926' root 1转载 2015-12-14 11:36:37 · 501 阅读 · 0 评论 -
android中的hashmap使用
哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快,树原创 2015-12-10 17:54:06 · 2711 阅读 · 0 评论 -
用 inotify 监控 Linux 文件系统事件
转:http://www.ibm.com/developerworks/cn/linux/l-inotify/在 Linux 内核中对 inotify 进行最后集成之前,我要感谢 IBM 公司 Eli Dow,他写了本文较早的版本。特别要提出的是,在 下载 部分所提供的示例代码,大部分还是基于 Eli 最初的样例代码。inotify 介绍从文件管理器到安全工具,文件系统转载 2015-12-10 17:44:34 · 416 阅读 · 0 评论 -
(三)为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
请根据学习目录进行学习:android平台硬件驱动原理学习(总)接下来,我们需要编写对应的JNI方法,使得java程序能够调用我们之前写的硬件抽象层(HAL)驱动;具体增加JNI的方法如下:一、 进入到frameworks/base/services/jni目录,新建com_android_server_HelloService.cpp文件: USER-N原创 2016-01-22 16:17:45 · 741 阅读 · 0 评论 -
(四)为Android系统的Application Frameworks层增加硬件访问服务
请根据学习目录进行学习:android平台硬件驱动原理学习(总)一、在Android系统中,硬件服务一般是运行在一个独立的进程中为各种应用程序提供服务。因此,调用这些硬件服务的应用程序与这些硬件服务之间的通信需要通过代理来进行。为此,我们要先定义好通信接口。进入到frameworks/base/core/java/android/os目录,新增IHelloService.aidl接口定原创 2016-01-22 16:22:14 · 695 阅读 · 0 评论