- 博客(23)
- 资源 (13)
- 收藏
- 关注
原创 Android USER 版本与ENG 版本的差异
[Keyword]USER ENG user eng 用户版本 工程版本 差异 [Solution]Google 官方描述: USER/USERDEBUG/ENG 版本的差异, 参考alps/build/core/build-system.html 的详细说明eng This is the default flavor. A plain make is the same as
2017-04-28 16:25:24 3565
原创 Eclipse导出可运行的jar包并运行
第一步:右击项目选择Export导出,在弹出的窗口中选择'Java',接着选择'Runnable JAR file'。如下图: 第二步:点击'Next'进入下一个页面,具体操作见下图:Launch configuration,选择要导出的项目Export destination,指定导出文件的存放位置 第三步:点击'Finish',之后一直点击'ye
2017-04-27 13:56:03 551
原创 NioSocketConnector 报错?
NioSocketConnector 报错?mina 框架,创建NioSocketConnector 导包后 报错,The class file NioSocketConnector contains a signature '(Ljava/nio/channels/SocketChannel;Lorg/apache/mina/core/polling/AbstractPoll
2017-04-27 10:21:33 918
转载 Android Logcat
一、logcat命令介绍1.android log系统2.logcat介绍logcat是android中的一个命令行工具,可以用于得到程序的log信息log类是一个日志类,可以在代码中使用logcat打印出消息常见的日志纪录方法包括: 方法 描述 v(String,String) (vervbose) 显示全部信息...
2017-04-25 16:46:03 309
转载 Android 抓取Log
一 概述本文档主要是供Android开发人员使用,特别是Framework开发。因为Framework中95%以上的问题都是靠分析log解决的,所以开发人员必须对android整个log系统十分清楚。什么问题抓什么log, 使用什么工具抓Log,如何分析log, 如何在代码中添加log.二DDMS log关于ddms是如何工作的和ddms的详细功能,见下面android sdk中文档详
2017-04-24 17:15:55 1396
转载 apk签名方式
工作中有时会遇到一些apk签名不同,导致无法安装的问题。 场景一: 有一个第三方apk(具有系统权限),无法安装在我们自己的Android机器上,提示以下错误,导致无法安装。 这是由于该APK具有系统权限,而系统签名与我们的Android设备系统签名不一致。Android检测到系统签名不一致,由于安全因素考虑,就阻止安装了。
2017-04-24 10:37:44 376
原创 Android7.0 PowerManagerService Power按键流程
按键的处理主要由InputManagerService负责,属于Android输入系统的流程。在这篇博客里,我们只关注与Power键相关的内容。InputManagerService处理的按键事件,最终将会传递到PhoneWindowManager的interceptKeyBeforeQueueing函数。我们就从这个函数开始,逐步进行分析。public int interceptKe
2017-04-15 17:18:43 1189
转载 Android7.0 PowerManagerService(3) 核心函数updatePowerStateLocked的主要流程
前面的博客中,我们已经分析过,当Android中的进程要使用电量时,需要向PMS申请WakeLock;当进程完成工作后,需要释放对应的WakeLock。PMS收到申请和释放WakeLock的请求后,均需要调用updatePowerStateLocked来更新电源的状态,该函数是PMS的核心方法。 接下来,我们就结合代码,看一下updatePowerStateLocked的工作流程。
2017-04-15 17:07:28 803
转载 Android7.0 PowerManagerService(2) WakeLock的使用及流程
作为移动终端,电量是一种稀缺资源,需要尽可能的节省。于是,Android系统在空闲时,会主动进入到休眠状态。我们知道整个Android系统中运行着很多个进程,因此必须有一种机制能够知道每个进程是否正在进行重要的工作,只有这样Android系统才能对整个终端当前的状态做出判断。显然我们不能启动一个进程,去主动监管其它所有进程的工作状态,这样CPU开销太大,反而加剧了电量的消耗。为此And
2017-04-15 16:43:15 613
转载 Android7.0 PowerManagerService(1) 启动过程
版权声明:转载请注明:http://blog.csdn.net/gaugamela/articlePowerManagerService负责Android系统中电源管理方面的工作,为了简便我们在下文中将其简称为PMS。我们先大致了解一下PMS在Android中的整体结构: 如上图所示,可以看出PMS的对外接口是PowerManager,其通过Binder通信来调用PMS中定义
2017-04-15 16:33:43 310
转载 Java多线程
引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些
2017-04-12 17:53:35 237
转载 ANR分析和实例
ANR (“Application Not Responding”)——“应用没有响应”。当某个应用处于长期无响应状态,Android系统会弹出一个窗口上面写道,XXX is not responding给出两个按钮一个为Force close一个为Wait。什么导致ANR发生在Android中,应用程序是由Activity Manager和Wi
2017-04-11 19:24:13 516
转载 Java 代码性能优化总结
前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可
2017-04-10 16:52:53 410
原创 Android 7.0 SEAndroid app权限配置
1.SEAndroid app分类SELinux(或SEAndroid)将app划分为主要三种类型(根据user不同,也有其他的domain类型):1)untrusted_app 第三方app,没有Android平台签名,没有system权限2)platform_app 有android平台签名,没有system权限3)system_app 有android平台签
2017-04-10 10:36:13 2694
原创 fork()、vfork()、clone()和exec()
前三个和最后一个是两个类型。前三个主要是Linux用来创建新的进程(线程)而设计的,exec()系列函数则是用来用指定的程序替换当前进程的所有内容。所以exec()系列函数经常在前三个函数使用之后调用,来创建一个全新的程序运行环境。Linux用init进程启动其他进程的过程一般都是这样的。 下面说fork、vfork和clone三个函数。这三个函数分别调用了sys_fork、
2017-04-09 17:40:47 259
原创 Android 选择binder好处
Android Binder设计与实现 – 设计篇: 目前linux支持的IPC包括传统的管道、System V IPC、即消息队列/共享内存/信号量,以及socket中只有socket支持Client-Server的通信方式。当然也可以在这些底层机制上架设一套协议来实现Client-Server通信,但这样增加了系统的复杂性,在手机这种条件复杂,资源稀缺的环境下可靠性也难以保证。另
2017-04-09 16:07:45 1768
原创 Android SEAndroid
根据SELinux规范,完整的SContext字符串为:user:role:type[:range]注意,方括号中的内容表示可选项。s0属于range中的一部分。下文再详细介绍range所代表的Security Level相关的知识。看,SContext的核心其实是前三个部分:user:role:type。刚才说了,MAC基本管理单位是TEAC(Type Enforcement A...
2017-04-09 16:03:54 298
原创 Android APK 签名校验
非对称加密算法非对称加密算法需要两个密钥:公开密钥(简称公钥)和私有密钥(简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法是数字签名和数字证书的基础,大家非常熟悉的RSA就是非对称加密算法的一种实现。消息摘要算
2017-04-09 15:35:02 7475
原创 Android 静默安装apk
关于Android应用程序的静默安装,很早以前我就做过一些了解,网上大多数给出的方案都是有严苛的要求:比如要获取root权限、或者是针对特殊的rom,甚至要自己刷机,这些方法即使能够达到目的但是看起来也不那么诱人,对于黑客技术而言几乎毫无用处。最近无意中看到了潭州教育的一个视频课程讲到静默安装,出于好奇心听了一下, 惊喜的发现真的可以做到,于是自己动手尝试了一下,整个过程略微复杂,中间也有很多视频
2017-04-05 18:28:40 1175 1
Android Platform签名提取apk签名 用于Android studio,eclipse调试
2017-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人