android
文章平均质量分 70
凡忧凡虑
进阶中。。。
展开
-
技术链接-NEW
Android签名机制之---签名过程详解 Android签名机制之---签名验证过程详解 Mipi LCD 通用移植调试流程 mipi 调试经验 Android键值上报流程 C++层Service的创建与使用 Android init.rc文件浅析 Android之四大组件、六大布局、五大存储 android 7.0新特性 应用层到开机进入recovery详解 An...原创 2017-12-29 13:18:49 · 435 阅读 · 0 评论 -
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 · 262 阅读 · 0 评论 -
android lcd 背光控制流程
此文章是网上看到的,在MTK平台基础上的背光控制流程的分析。个人觉得写得比较详细,于是截取部分内容转载出来。不过话说在前头,对于lcd而言,决定显示效果的有几个因素:pwm,gama(屏幕灰度),饱和度,对比度 。如果单单改变了pwm的调制范围(如0--255改为0--100),用示波器可以看到pwm占空比的变化。但是,肉眼看到的效果还是没有任何变化,因为gama的因素的作用,这时也要相应转载 2017-11-10 13:17:16 · 1127 阅读 · 0 评论 -
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 · 231 阅读 · 0 评论 -
Android中获取应用程序(包)的大小-----PackageManager的使用(二)
转载请注明出处:http://blog.csdn.net/qinjuning 通过第一部分Android中获取应用程序(包)的信息-----PackageManager的使用(一)>>的介绍,对PackageManager以及AndroidManife.xml定义的节点信息类XXXInfo类都有了一定的认识。 本部分的内容是如何获取安装转载 2017-10-10 14:01:06 · 254 阅读 · 0 评论 -
Android中获取应用程序(包)的信息-----PackageManager的使用(一)
转载请注明出处:http://blog.csdn.net/qinjuning 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename、label、icon、占用大小等。具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagename、label、icon等 ;转载 2017-10-10 13:58:18 · 242 阅读 · 0 评论 -
Android输入事件从读取到分发五:事件分发前的拦截过程
在前面的文章:Android输入事件从读取到分发三:InputDispatcherThread线程分发事件的过程 一文中已经提过事件在分发前要做拦截的事情,只不过当时没有展开来分析,因此这篇文章的主要目的就是分析事件在分发前的拦截过程。(注:Android源码版本为6.0)在Android输入事件从读取到分发三:InputDispatcherThread线程分发事件的过程 一文中我们分析到转载 2017-10-19 11:16:04 · 459 阅读 · 0 评论 -
Android输入事件从读取到分发四:InputDispatcherThread发送事件到View结构树的过程
通过上一节的分析,我们发现InputDispatcherThread使用InputChannel的sendMessage方法发送了一条消息,但是我们不知道谁在接收这条消息。因此,这一节我们的目标很明确,弄懂”是谁在接收消息,然后这条消息是怎么分发到View的结构树中的”。(注:分析使用的Android源码版本为6.0)上一节我们说InputChannel的本质是linux本地套接字,因为它转载 2017-10-19 11:15:25 · 2073 阅读 · 0 评论 -
Android输入事件从读取到分发三:InputDispatcherThread线程分发事件的过程
分析完事件的读取后,东忙西忙,不知不觉已过去了快五个月了…也不是说没有时间把这部分源码分析完,而是实在是分析不下去,因此转战到其他地方去了。然而这一块始终是心头那不舍的惦记,经过一段时间的沉淀,又参考了网上很多大神的文章,然后再来阅读源码,渐渐感觉到能看出点眉目了。因而事不宜迟,赶紧做个记录吧(注:分析使用的Android源码版本为6.0)。前面两篇文章分析输入事件的读取,通过分析,发现时转载 2017-10-19 11:14:34 · 233 阅读 · 0 评论 -
Android输入事件从读取到分发二:谁在循环监听事件的到来
通过上一节初步阅读代码,已经找到了读写/dev/input/设备文件节点的位置。但是最后,我觉得应该有一个线程,一直循环监听这些输入设备,有事件的时候就去处理,没有事件的时候就睡眠,等待事件的到来。那么,这部分的代码是怎么样的呢?上一节只是为了定位android系统在什么地方监听输入设备,所以很多地方没有仔细分析,这一节,带着文章开头提出的问题,再一次分析源码,而我们的入口,任然是系统启动后,转载 2017-10-19 11:13:52 · 396 阅读 · 0 评论 -
Android输入事件从读取到分发一:是谁在读取输入事件
零.写在最前第一次尝试阅读android输入系统的代码,免不了理解错误,如有错误,欢迎指正。一.提出问题android是基于linux kernel的,linux的事件获取需要读/dev/input下的设备文件节点。对android系统而言,是谁在读这些设备文件节点?读到以后又是怎么把它发送给view的?二.猜测与验证事件是一种看不到的东西,在android下,看不见的东西一般转载 2017-10-19 11:13:14 · 517 阅读 · 0 评论 -
Framework中的连接管理机制
上一节《Wifi服务框架介绍》介绍了WIFI的大致框架,本文主要介绍连接管理中的几个重要角色,包括:NetworkInfo、NetworkAgent、ConnectivityService、ConnectivityManager等。 为了便于讨论,本文选取一个具体问题展开分析,那就是:当当前的网络连接变为不可用时,系统如何自动切换其他可用的网络连接的。 我们知道转载 2017-09-30 16:02:04 · 322 阅读 · 0 评论 -
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 · 1811 阅读 · 0 评论 -
深入理解ActivityManagerService
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容第6章 深入理解ActivityManagerService本章主要内容:· 详细分析ActivityManagerService本章所涉及的源代码文件名及位置:· SystemServer.java转载 2017-11-21 15:24:12 · 3987 阅读 · 3 评论 -
Android APK反编译就这么简单 详解
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)转载 2017-11-27 14:14:12 · 404 阅读 · 0 评论 -
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 · 2138 阅读 · 0 评论 -
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 · 674 阅读 · 0 评论 -
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 · 1784 阅读 · 0 评论 -
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 · 458 阅读 · 0 评论 -
AndroidStudio、gradle、buildToolsVersion关系
使用AndroidStudio 开发也已经2年了,每次gradle 或者studio 有推荐更新后,项目重新sync后都会报错,提示更新相应的其他版本,比如AndroidStudio、gradle、buildToolsVersion版本;先来说说概念AndroidStudio: 是Google官方基于IntelliJ IDEA开发的一款Android应用开发工具,,类似之前的eclip转载 2017-11-27 08:47:48 · 284 阅读 · 0 评论 -
深入理解PackageManagerService
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容 第4章 深入理解PackageManagerService本章主要内容:详细分析PackageManagerService本章所涉及的源代码文件名及位置:· SystemServer.javaf转载 2017-11-23 09:57:05 · 1502 阅读 · 0 评论 -
Android系统system用户权限和root权限的获取
在Android系统中,系统为每一个应用程序(apk)创建了一个用户和组。这个用户和组都是受限用户,不能访问系统的数据,只能访问自己的文件和目录,当然它也不能访问其他应用程序的数据。这样设计可以尽可能地保护应用程序的私有数据,增强系统的安全性和健壮性。 但是有一些应用程序是需要访问一些系统资源的。比如Setting程序,它需要访问WiFi,在系统中创建删除文件等等操作。怎样做到这一转载 2017-12-01 15:34:37 · 14685 阅读 · 1 评论 -
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 · 2207 阅读 · 1 评论 -
深入理解WindowManagerService
《深入理解Android 卷III》即将发布,作者是张大伟。此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分。在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService、ViewRoot、Input系统、StatusBar、Wallpaper等重要“颜值绘制/处理”模块第转载 2017-11-21 15:26:13 · 4676 阅读 · 0 评论 -
网络连接评分机制之NetworkFactory
在开机时,各个提供网络连接的对象需要向ConnectivityService注册自己,并把自己所提供的网络的分值告诉ConnectivityService。 为了ConnectivityService便于统一管理,每一个具备提供网络服务的对象都需要创建一个NetworkFactory的子类对象,并利用该对象注册自己,以及提供自己的分值。一、NetworkFactory转载 2017-09-30 15:32:31 · 430 阅读 · 0 评论 -
Android Binder机制(超级详尽)
1.binder通信概述 binder通信是一种client-server的通信结构, 1.从表面上来看,是client通过获得一个server的代理接口,对server进行直接调用; 2.实际上,代理接口中定义的方法与server中定义的方法是一一对应的; &转载 2017-10-18 10:03:21 · 183 阅读 · 0 评论 -
android4.1去除bluetooth和gps功能
去除桌面bluetooth快捷键和设置里面gps功能开关。一:Settings\src\com\Android\settings\widget\SettingsAppWidgetProvider.Java:import android.view.View; static RemoteViews buildUpdate(Context context) {转载 2017-09-07 09:02:57 · 539 阅读 · 0 评论 -
android bluetooth 移植相关注意事项
bluedroid的通用架构框图:由上图可知,bluedroid包含如下的核心组件:Bluetooth core stack libraryHCI libraryVendor Specific HCI libraryUART, RFKILL,TUN/TAP and UHID转载 2017-09-07 08:53:52 · 738 阅读 · 0 评论 -
Android 在Service里面启动Activity
直接在代码:[java] view plain copyprint?Intent dialogIntent = new Intent(getBaseContext(), YourActivity.class); dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); getApplication转载 2017-09-14 17:51:41 · 1240 阅读 · 0 评论 -
android设置activity全屏 | 无标题
1.设置activity无标题方法一:在Manifest.xml中为activity增加属性: android:theme="@android:style/Theme.NoTitleBar"方法二:在activity的onCreate()中加入:requestWindowFeature(Window.FEATURE_NO_TITLE);2.设置activity全屏转载 2017-09-14 17:50:58 · 253 阅读 · 0 评论 -
Android 禁止下拉状态栏和底部导航栏的控制
Android禁止下拉状态栏1.在manifest 文件中添加权限: 2.在java文件中添加StatusBarManager 实例mStatusBarManager = (StatusBarManager) mContext.getSystemService(Context.STATUS_BAR_SERVICE); 3. 禁止下拉状态栏转载 2017-09-14 17:50:19 · 8998 阅读 · 3 评论 -
Android bind 回调实现Service向activity传递数据
开启服务的时候,如果我们是通过bindService来绑定服务并且要向服务传递数据,可以直接在Intent中设置bundle来达到效果,但是如果是我们需要从服务中返回一些数据到Activity中的时候,实现起来就有各种各样的方法,比如说使用回调,使用广播等等,今天说的是使用回调的方法。新建一个工程,并编写一个服务: 1 public class MyService extends转载 2017-09-14 17:49:18 · 628 阅读 · 0 评论 -
Android中发送短信等普通方法
首先要在Mainfest.xml中加入所需要的权限:[html] view plain copyprint?uses-permission android:name="android.permission.SEND_SMS"/> uses-permission android:name="android.permission.READ_SMS"/>转载 2017-09-04 15:23:38 · 257 阅读 · 0 评论 -
android系统启动流程之init.rc详细分析笔记
对于Android系统的学习掌握,除了对一些语言基础的要求,如C,C++,Java,shell,makefile等,更要整体去把握系统的架构。对于架构的熟悉入门,首先应该分析android的编译系统结构。而对于系统的启动流程的掌握,最好是深入分析init.rc、init.xx.rc等文件。这些文件相对来说代码量少,比较简单,而且对系统的整体认识有很大的帮助。以前在工作中经常要用到init.rc相关转载 2017-08-19 23:21:17 · 1075 阅读 · 0 评论 -
Android 应用通过init.rc启动service去执行具有root权限sh脚本
在Android开发中经常会遇到,在应用层想去执行一个脚本来完成某些底层相关的操作,但在应用层又没有root权限。所以,老大给出一种方法完美解决此问题,又把上层和底层进行了隔离,非常好的策略。1、在需要执行脚本的时候,应用层去设置一个property,在init.rc中去监测此property的值,当监测到此property的值符合要求时,去start service,来执行我们的转载 2017-08-19 22:35:43 · 5884 阅读 · 0 评论 -
Android RemoteCallbackList类
在网上很少看到有解释 RemoteCallbackList类的,没办法要搞懂只能去看源码,大致理解:一个容器,容纳的对象是一些接口,用于执行列表中对象的回调函数,主要用于服务调用activity函数,或者解释为服务端和客户端通信。/* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the A转载 2017-08-19 21:25:30 · 867 阅读 · 0 评论 -
Android logcat命令详解
Android logcat命令详解一、logcat命令介绍1.android log系统 2.logcat介绍logcat是Android中的一个命令行工具,可以用于得到程序的log信息log类是一个日志类,可以在代码中使用logcat打印出消息常见的日志纪录方法包括:方法描述v(St转载 2017-08-18 13:20:47 · 281 阅读 · 0 评论 -
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 · 6274 阅读 · 0 评论 -
androidstudio apk调试运行没有问题 apk安装运行闪退
需要在build目录下点击build apk 这时候生成的apk才可以安装运行转载 2017-09-15 17:40:33 · 1359 阅读 · 0 评论 -
[Android][N/A][SMS]PDU解析——利用AT指令发送CLASS分类短信
[plain] view plain copyprint?AT+CMGF=0 AT+CMGS=25 >08 91683110401505F0 11000D91685152909593F60008000A5DE54F5C61095FEBFF01 AT+CMGF=0转载 2017-09-07 19:22:39 · 822 阅读 · 2 评论