自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (19)
  • 收藏
  • 关注

原创 技术链接-NEW

Android签名机制之---签名过程详解 Android签名机制之---签名验证过程详解 Mipi LCD 通用移植调试流程 mipi 调试经验 Android键值上报流程 C++层Service的创建与使用 Android init.rc文件浅析 Android之四大组件、六大布局、五大存储 android 7.0新特性 应用层到开机进入recovery详解 An...

2017-12-29 13:18:49 407

转载 Android系统system用户权限和root权限的获取

在Android系统中,系统为每一个应用程序(apk)创建了一个用户和组。这个用户和组都是受限用户,不能访问系统的数据,只能访问自己的文件和目录,当然它也不能访问其他应用程序的数据。这样设计可以尽可能地保护应用程序的私有数据,增强系统的安全性和健壮性。     但是有一些应用程序是需要访问一些系统资源的。比如Setting程序,它需要访问WiFi,在系统中创建删除文件等等操作。怎样做到这一

2017-12-01 15:34:37 14608 1

转载 Android APK反编译就这么简单 详解

在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)

2017-11-27 14:14:12 379

转载 Android studio 代码混淆及打包apk

Android Studio相关博客:Android Studio(一):介绍、安装、配置Android Studio(二):快捷键设置、插件安装Android Studio(三):设置Android Studio编码Android Studio(四):Android Studio集成GenymotionAndroid Studio(五):修改Andro

2017-11-27 14:05:42 2101

转载 Android Studio 默认keystore 以及自定义keystore

我们使用Android Studio 运行或测试我们的app  它使用一个默认的debug.keystore进行签名。这个默认签名(keystore)是不需要密码的,它的默认位置在 $HOME/.android/debug.keystore,如果不存在Android studio会自动创建它。例如我的debug.keystore就在C:\Users\Administra

2017-11-27 11:57:59 654

转载 Android Studio常见问题以及解决方式

转载地址:http://4259297.blog.51cto.com/4249297/1700031gradle build的时候出现的问题: Error:Execution failed for task ':app:packageDebug'. Duplicate files copied in APK META-INF/notice.txt 解决办法:http

2017-11-27 10:09:24 1743

转载 Android studio 生成自定义文件名 apk

Android studio 默认生成的apk文件名是这样的当我们需要生成自定义文件名apk的时候可以在Gradle文件中定义, 避免每次生成后还要改名.示例如下build.gradleapply plugin: 'com.android.application'def getTime() { return new Date().format("yyyyMMdd

2017-11-27 10:08:14 447

转载 AndroidStudio、gradle、buildToolsVersion关系

使用AndroidStudio 开发也已经2年了,每次gradle 或者studio 有推荐更新后,项目重新sync后都会报错,提示更新相应的其他版本,比如AndroidStudio、gradle、buildToolsVersion版本;先来说说概念AndroidStudio: 是Google官方基于IntelliJ IDEA开发的一款Android应用开发工具,,类似之前的eclip

2017-11-27 08:47:48 276

转载 深入理解PackageManagerService

由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容 第4章  深入理解PackageManagerService本章主要内容:详细分析PackageManagerService本章所涉及的源代码文件名及位置:·  SystemServer.javaf

2017-11-23 09:57:05 1487

转载 深入理解WindowManagerService

《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块第

2017-11-21 15:26:13 4660

转载 深入理解ActivityManagerService

由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容第6章 深入理解ActivityManagerService本章主要内容:·  详细分析ActivityManagerService本章所涉及的源代码文件名及位置:·  SystemServer.java

2017-11-21 15:24:12 3936 3

转载 libxxx.so- text relocations问题的终极解决方案

问题表现形式错误或警告日志当targetSdkVersion>=23且使用debug签名时,在6.0+的Android设备上运行App会输出以下错误Log:E/linker: /data/app/packagename/lib/arm/libxxx.so: has text relocations W/System.err: java.lang.UnsatisfiedLinkE

2017-11-16 15:16:50 2186 1

转载 android lcd 背光控制流程

此文章是网上看到的,在MTK平台基础上的背光控制流程的分析。个人觉得写得比较详细,于是截取部分内容转载出来。不过话说在前头,对于lcd而言,决定显示效果的有几个因素:pwm,gama(屏幕灰度),饱和度,对比度 。如果单单改变了pwm的调制范围(如0--255改为0--100),用示波器可以看到pwm占空比的变化。但是,肉眼看到的效果还是没有任何变化,因为gama的因素的作用,这时也要相应

2017-11-10 13:17:16 1070

转载 android camera(一):camera模组CMM介绍

关键词:android  camera CMM 模组 camera参数平台信息:内核:linux系统:android平台:S5PV310(samsung exynos 4210) 作者:xubin341719(欢迎转载,请注明作者)下载:常用摄像头规格书(个别有android驱动程序)  :bf3703 30W、gc0308 30W、ov7670、gt2005 20

2017-11-07 21:57:02 223

转载 Qualcomm平台camera调试移植入门

1  camera基本代码架构    高通平台对于camera的代码组织,大体上还是遵循Android的框架:即上层应用和HAL层交互,高通平台在HAL层里面实现自己的一套管理策略;在kernel中实现sensor的底层驱动。但是,对于最核心的sensor端的底层设置、ISP效果相关等代码则是单独进行了抽离,放在了一个daemon进程中进行管理:图1 Qualcomm平台c

2017-11-07 11:40:24 367

转载 warning: the frame size of 1040 bytes is larger than 1024 bytes

问题描述:       在编译内核模块驱动时,如果出现如下警告信息:warning: the frame size of 1040 bytes is larger than 1024 bytes。主要是因为内核中设置了堆栈报警大小,其默认为1024bytes。我们主要将其修改为4096既可以消除告警信息。如果解决:(1)make menuconfig(2)kernel hack

2017-10-25 16:28:06 1783

转载 Linux双向循环链表的实现

链表是一种重要的数据结构,应用的非常广泛。链表分为单向链表与双向链表,一般的实现就是在结构体中内嵌指向下一个元素的指针。例如:[cpp] view plain copyprint?struct name {      int num;      ...;      struct name *next;      struct name *prev;  }

2017-10-24 10:39:22 282

转载 Android输入事件从读取到分发五:事件分发前的拦截过程

在前面的文章:Android输入事件从读取到分发三:InputDispatcherThread线程分发事件的过程 一文中已经提过事件在分发前要做拦截的事情,只不过当时没有展开来分析,因此这篇文章的主要目的就是分析事件在分发前的拦截过程。(注:Android源码版本为6.0)在Android输入事件从读取到分发三:InputDispatcherThread线程分发事件的过程 一文中我们分析到

2017-10-19 11:16:04 444

转载 Android输入事件从读取到分发四:InputDispatcherThread发送事件到View结构树的过程

通过上一节的分析,我们发现InputDispatcherThread使用InputChannel的sendMessage方法发送了一条消息,但是我们不知道谁在接收这条消息。因此,这一节我们的目标很明确,弄懂”是谁在接收消息,然后这条消息是怎么分发到View的结构树中的”。(注:分析使用的Android源码版本为6.0)上一节我们说InputChannel的本质是linux本地套接字,因为它

2017-10-19 11:15:25 1991

转载 Android输入事件从读取到分发三:InputDispatcherThread线程分发事件的过程

分析完事件的读取后,东忙西忙,不知不觉已过去了快五个月了…也不是说没有时间把这部分源码分析完,而是实在是分析不下去,因此转战到其他地方去了。然而这一块始终是心头那不舍的惦记,经过一段时间的沉淀,又参考了网上很多大神的文章,然后再来阅读源码,渐渐感觉到能看出点眉目了。因而事不宜迟,赶紧做个记录吧(注:分析使用的Android源码版本为6.0)。前面两篇文章分析输入事件的读取,通过分析,发现时

2017-10-19 11:14:34 224

转载 Android输入事件从读取到分发二:谁在循环监听事件的到来

通过上一节初步阅读代码,已经找到了读写/dev/input/设备文件节点的位置。但是最后,我觉得应该有一个线程,一直循环监听这些输入设备,有事件的时候就去处理,没有事件的时候就睡眠,等待事件的到来。那么,这部分的代码是怎么样的呢?上一节只是为了定位android系统在什么地方监听输入设备,所以很多地方没有仔细分析,这一节,带着文章开头提出的问题,再一次分析源码,而我们的入口,任然是系统启动后,

2017-10-19 11:13:52 382

转载 Android输入事件从读取到分发一:是谁在读取输入事件

零.写在最前第一次尝试阅读android输入系统的代码,免不了理解错误,如有错误,欢迎指正。一.提出问题android是基于linux kernel的,linux的事件获取需要读/dev/input下的设备文件节点。对android系统而言,是谁在读这些设备文件节点?读到以后又是怎么把它发送给view的?二.猜测与验证事件是一种看不到的东西,在android下,看不见的东西一般

2017-10-19 11:13:14 506

转载 Linux inotify功能及实现原理

1. inotify主要功能它是一个内核用于通知用户空间程序文件系统变化的机制。众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug、udev 和 inotify 就是这种需求

2017-10-19 08:32:20 195

转载 epoll使用详解(精髓)

epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且

2017-10-19 08:30:36 178

转载 Android Binder机制(超级详尽)

1.binder通信概述    binder通信是一种client-server的通信结构,    1.从表面上来看,是client通过获得一个server的代理接口,对server进行直接调用;    2.实际上,代理接口中定义的方法与server中定义的方法是一一对应的; &

2017-10-18 10:03:21 173

转载 Android Uevent 分析,从kernel到framework

http://blog.sina.com.cn/s/blog_6100a4f101015uwh.htmlhttp://www.cnblogs.com/armlinux/archive/2011/12/05/2396773.html--------------------------Uevent是内核通知android有状态变化的一种方法,比如USB线插入、拔出,电池

2017-10-16 16:41:40 252

转载 DEVICE_ATTR的使用

DEVICE_ATTR的使用使用DEVICE_ATTR,可以在sys fs中添加“文件”,通过修改该文件内容,可以实现在运行过程中动态控制device的目的。类似的还有DRIVER_ATTR,BUS_ATTR,CLASS_ATTR。这几个东东的区别就是,DEVICE_ATTR对应的文件在/sys/devices/目录中对应的device下面。而其他几个分别在driver,bus,class中对

2017-10-12 13:39:32 323

转载 Android中获取应用程序(包)的大小-----PackageManager的使用(二)

转载请注明出处:http://blog.csdn.net/qinjuning           通过第一部分Android中获取应用程序(包)的信息-----PackageManager的使用(一)>>的介绍,对PackageManager以及AndroidManife.xml定义的节点信息类XXXInfo类都有了一定的认识。          本部分的内容是如何获取安装

2017-10-10 14:01:06 244

转载 Android中获取应用程序(包)的信息-----PackageManager的使用(一)

转载请注明出处:http://blog.csdn.net/qinjuning                本节内容是如何获取Android系统中应用程序的信息,主要包括packagename、label、icon、占用大小等。具体分为两个 部分,计划如下:            第一部分: 获取应用程序的packagename、label、icon等 ;         

2017-10-10 13:58:18 225

转载 Android.mk高级写法

原本只是想记录一些常用的使用技巧,但是越写越得意(>_        写这篇文章的起因当然是实际工程需要,在搭建一个网游的android客户端时遇到种种恶心的问题,比如文件过多导致"Argument list too long"的错误,又比如增加和删除文件时都需要维护好Android.mk配置,虽然可以通过写个脚本自动生成android.mk,但是终归不是很漂亮的解决方案。通过本文所提到的几个

2017-10-08 11:33:03 300

转载 Framework中的连接管理机制

上一节《Wifi服务框架介绍》介绍了WIFI的大致框架,本文主要介绍连接管理中的几个重要角色,包括:NetworkInfo、NetworkAgent、ConnectivityService、ConnectivityManager等。        为了便于讨论,本文选取一个具体问题展开分析,那就是:当当前的网络连接变为不可用时,系统如何自动切换其他可用的网络连接的。        我们知道

2017-09-30 16:02:04 313

转载 网络连接评分机制之NetworkFactory

在开机时,各个提供网络连接的对象需要向ConnectivityService注册自己,并把自己所提供的网络的分值告诉ConnectivityService。        为了ConnectivityService便于统一管理,每一个具备提供网络服务的对象都需要创建一个NetworkFactory的子类对象,并利用该对象注册自己,以及提供自己的分值。一、NetworkFactory

2017-09-30 15:32:31 375

转载 Android源码中学习文档如何查看

备注:源码中的docs包是Android7.0中的docs包。 Android源码中其实已经给开发者提供好了开发文档。我们常常需要翻墙上google官网查阅一些资料。但是今天发现其实Android源码中已经自带了google官网的学习文档,我们本地使用google_appengine引擎就可以在本地查阅google的学习文档了。1、下载google_appengine源码包这个在CSD

2017-09-29 08:44:24 247

转载 数据业务建立流程之发起网络连接过程

经过前面这些过程,网络连接所需要的条件就全部准备就绪,接下来就是等待网络接入。        我们把网络接入过程简单分为三个阶段:        触发阶段            ----该阶段是由各种不同事件触发的,比如SIM载入完毕、PS域Attach成功、通话结束、APN改变等,该阶段的最终都是要调用setupDataOnConnectableApns()方法;

2017-09-25 14:05:54 501

转载 数据业务建立流程之APN参数的激活

APN参数在前面《数据业务建立流程之常规APN参数的创建》一文中已经都被创建完毕并存入mAllApnSettings的数组中,但是这些APN参数默认都是没有被Enable的,只有当APN被Enable之后,该APN才可以被使用,下面我们就来看如何将一个APN参数激活。        APN的Enable是通过TelephonyNetworkFactory中的needNetworkFor()方法

2017-09-25 14:04:30 586

转载 数据业务建立流程之常规APN参数的创建

区别于前面的紧急APN,这里的APN参数主要指常规的SIM卡APN参数,手机在上网时必须传递正确的APN参数给运营商才可以接入移动网络,而常规APN参数的创建是由监听器触发的。        前面在DcTracker初始化过程中注册了大量监听器,其中有两个监听器可以触发APN的创建过程:1、SIM载入完毕;2、APN改变。这两个事件所导致的APN创建流程也都是类似的,分别是:

2017-09-25 14:03:22 839

转载 数据业务建立流程之DcTracker创建过程

一、DcTracker介绍        DcTracker是Telephony框架中负责数据业务的核心(类似于GsmCallTracker是通话业务核心,GsmServiceStateTracker是网络CS业务的核心),所有对数据网络的请求(打开关闭数据开关、切换数据卡、修改APN参数等)都会发送到该处理中心来处理。本节所涉及的大部分代码也都在该对象中。下面我们先来看该对象的初始化

2017-09-25 14:02:15 657

转载 Android数据业务发起流程

本节我们来介绍手机的数据网络连接建立过程。        所谓数据网络就是使用手机SIM卡上网,该上网方式需要满足两个条件:选择并激活合适的APN参数,PS域已经处于ATTACH状态。        下面我们分四节来分别介绍Android L上数据业务的发起流程。        《数据业务建立流程之DcTracker创建过程》        《数据业务建立流程之常规APN参数的创建

2017-09-25 13:59:42 823 1

转载 深入理解SELinux SEAndroid

按哥的习惯,应该是全部洗剪吹完后再发,不过今年是马年,什么都强调 马上。所以 现在就先奉献 马上有第一部分  祝各位同仁,朋友 马年快乐。 深入理解SELinux SEAndroidSEAndroid是Google在Android 4.4上正式推出的一套以SELinux为基础于核心的系统安全机制。而SELinux则是由美国NSA(国安局)和一些公司(RedHat、Tresy

2017-09-24 10:30:06 16666 1

转载 Android 5.1 权限问题解决方法(测试可用)

Android 5.x 权限问题解决方法             一、 android 5.x开始,引入了非常严格的selinux权限管理机制,我们经常会遇到因为selinux权限问题造成的各种avc denied困扰。  本文结合具体案例,讲解如何根据log来快速解决90%的权限问题。 遇到权限问题,在logcat或者kernel的log中一定会打印avc denied提

2017-09-23 15:27:42 6252

SDM450切换左右声道.docx

高通Android7交换左右声道,实测有效可行.

2020-09-18

sscom5.13.1.zip

windows很好用的串口工具

2020-09-17

WinHex 19.6 SR-6

windows文件查看器,支持2、10、16进制自由转换,方便快捷.

2020-09-17

vysorpro(windows)

windows版本的vysorpro,亲测可用.

2020-09-17

adb1.0.32(windows)

adb1.0.32,windows

2020-09-17

编译Andorid源码的时候签名aboot,编译ota包的时候更新aboot和splash。

编译Andorid源码的时候签名aboot,编译ota包的时候更新aboot和splash。适用于Android7系统。

2020-09-17

msm8909_thermal_engine_code_config

调整cpu温度策略,用于问题cpu监控,解决问题过高死机等问题.

2020-09-17

高通cpu超频方案.txt

高通平台cpu超频方案,适用于大多数高通平台的。用提升cpu的性能。

2020-09-17

高通sdm450实现otg充电功能

高通sdm450实现otg充电功能,Android7平台,已验证可用。usb+otg充电方案,基于pm8950。。。

2020-09-17

app-debug.apk

直接使用的aidl测试demo,不需要编译源码,直接安装测试即可。

2019-08-28

Android底层开发技术实战详解

Android底层开发技术实战详解,已解密,所有章节都可以看。。。

2018-03-16

Android5.1移植支持ntfs

Android5.1移植支持ntfs,在android系统里面添加ntfs文件系统支持。。。

2018-03-16

android应用上报按键源码

android应用上报按键源码,用于apk应用上报按键消息给系统!!!

2018-03-16

msm8909_android5.1启动过程

msm8909_android5.1启动过程,从u-boot到luncher启动完成过程分析!!!

2018-03-16

g-sensor_driver_修改记录

g-sensor_driver_修改记录,在android平台调试及优化g-sensor!!!

2018-03-16

sourceinsight3.5中文支持

sourceinsight3.5中文支持,再也不用担心中文乱码了!!!

2018-03-16

sourceinsight快捷键

非常实用的sourceinsight快捷键插件,为sourceinsight开发添砖加瓦!!!

2018-03-16

SourceInsight3.5安装包及破解机

SourceInsight3.5安装包及破解机,很实用的开发工具,从此看代码无忧!!!

2018-03-16

android编译脚本

很实用的编译脚本,实用与android系统循环编译使用!!!

2018-03-16

空空如也

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

TA关注的人

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