自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 2020安卓开发面试总结

2020安卓面试总结基础知识Java基础Android基础网络基础Android常用框架源码1,ViewModel和LiveData2,Kotlin3,LeakCanary的实现原理4,RxJava5,EventBus6,fresco和glide项目经历1,你觉得最有难度的项目,最成功的项目2,你做过什么性能优化相关的工作3,遇到问题的时候,怎么解决今年因为公司的一些变动,深思熟虑后决定出来重新找工作。刚开始以为找工作会一帆风顺,也没多做准备,结果发现现实狠狠的给了我一耳光。所以,找工作之前还是要把面试相

2020-07-15 22:28:29 357

原创 从Google的todo-mvp源码中学习MVP模式

从Google的todo-mvp源码中学习MVP模式MVP : Model-View-PresenterMVP模式可以说是现在开发模式中的mvp了。MVP模式也是mvvm模式的一个基础。 Google在Github上面公布了一组官方的mvp samples:Google todo-mvp通过对以下几个例子的源码分析,来深入学习MVP模式。 Sample Descrip

2018-05-16 20:09:35 837 2

原创 Android Studio使用jni环境配置

Android Studio使用jni环境配置使用AndroidStudio编写原生层应用,有两种方式: 1,官方示例,Gradle+Cmake+LLDB+NDK 官方示例,如何向安卓中添加C/C++代码2,老方法通过NDK中的ndk-build编译Android.mk文件官方的示例可以通过上述链接查看,有个缺点就是有时候会因为无法翻墙的问题,得通过自己去下载配置Cmake和LLDB这些工具。因

2017-07-16 21:32:54 1114

原创 从AILD与bindService谈Binder进程间通信原理(下)

从AILD与bindService谈Binder进程间通信原理(下)上文回顾从AILD与bindService谈Binder进程间通信原理(上)上一篇文章主要讲述了,在Client进程向AMS所在进程发起bindService操作的服务请求的过程中,Binder是如何跨进程通信的。实际上,Java层的Binder进程间通信都是同样的流程。主要有以下2点: 1,A进程持有B进程的IBinder对象(

2017-07-03 12:38:49 1915 1

原创 从AILD与bindService谈Binder进程间通信原理(上)

从AILD与bindService谈Binder进程间通信原理彻底弄明白AIDL进程间通信的原理

2017-06-23 14:09:03 4006

原创 简要分析Android中的Intent,Bundle,Parcel中的数据传递

Intent是进程间通信的一种简要方式,其通讯数据可以存放在Bundle中,而在实际的进程间通讯过程中,数据则是打包成Parcel对象进行处理的.查看源代码后,简要分析一下其中的数据转换逻辑.简单的逻辑就是:进程A----Data----Bundle----Intent----Parcel------进程B------Parcel----Intent----Bundle----Data(忽略了

2017-06-19 11:49:02 2662

原创 Android5.0框架层短信接收过程分析

本文分析使用的是android5.0的源代码,涉及的相关文件:frameworks\opt\telephony\src\java\com\android\internal\telephony\RIL.javaframeworks\base\core\java\com\android\internal\util\StateMachine.javaframeworks\opt\tele

2017-04-20 15:15:33 3574 2

原创 KMP算法NEXT数组计算方法

KMP算法:关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。时间复杂度O(m+n)。个人对于Next()函数的理解:一:思路概括:我语文不太好可以忽略,直接先看手工实现1,把将要进行next计算的字符串S分成 k ,j 前后两串,k代表前串开头所在的序号,j代表后串开头

2017-03-05 23:24:10 19958 12

原创 Ubuntu下将编译好的安卓源代码刷入Nexus5真机

安卓源代码刷入Nexus5真机< waiting for device >error: device not found

2016-11-03 23:41:47 1241

原创 android5.0 模块编译--art的模块编译小发现

讲道理,编译好安卓系统以后,进行模块修改,再重新mmm x模块 因该是一件特别快速的事情.问题:在编译android 5.0的art模块时发现存在两个问题:1,无法进行单独的模块编译,且提示缺少各种各样的库.2,能成功编译后,编译速度及其缓慢.调查:1,根据错误的信息可以发现都是形如 libgtest_host_intermediates 类似的文件夹中缺少

2016-09-13 16:24:27 2314

原创 android5.0源码编译错误小结

make: *** No rule to make target `out/host/linux-x86/obj/STATIC_LIBRARIES/libgtest_host_intermediates/export_includes',needed by`out/host/linux-x86/obj/SHARED_LIBRARIES/libartd_intermediates/import_includes'. Stop.

2016-08-20 15:35:27 2455

原创 Wifi密码破解与局域网抓包监听(小白--纯工具版)

工具介绍:1,wifi密码破解:CDlinux.iso  :一个Linux系统,集成了wifi密码的PIN码破解软件。2,Mac地址修改器:修改自己的MAC地址,防止被封3,ettercap4,wireshark5,

2016-07-10 00:12:00 153238 2

原创 inline!C++内联

在android5.0的源代码中经常可以看到xxxxx-inl.h的文件(C++中好像还有专门的.inl文件)   这些文件都是内联函数/模板的文件  比如Class-inl.h  Class_linker-inl.h Dex_file-inl.h Art_method-inh.h(里面尽是一些templateinline void ArtMethod::SetNative

2016-05-16 17:35:20 524

原创 adb操作遇到Permission denied和operation not permitted相关

用adb 操作真机 经常遇到各种各样的Permission deniedOperation not permitted(手机已经root)使用adb push 命令 提示Operation not permitted时$ adb root adbd is already running as root(adb取得root权限,你发现adb she

2016-05-10 10:57:34 19476

原创 小米S2手机刷android5.0原生版

小米2S MIUI 6 android5.0系统已经root了,想着在system/bin目录放一个gdbserver,然后用gdb调试一下,结果 结果。。。。惨痛的经历啊。。。想着已经root因该是很简单的一件事,sumount mount -o remount,rw /systemchmod 777 /system/bin然后用ls -l /system

2016-05-09 22:38:08 5874 1

原创 AIDL实现Android进程间通信实例

实现Android进程间通信实例有好几种方法:1,AIDL2,Broadcast3,Intent4,Content Provider记录一下AIDL实现Android进程间通信的方式:Android的AIDL进程间通信实现步骤:一:创建AIDL服务端:aidl文件,自动生成的接口java文件,服务servicexxxInterface

2016-05-06 20:52:49 766

原创 gdb和gdbserver调试android应用与可执行

学习android5.0以后的ART虚拟机,看了看源码,比较头疼,决定通过动态调试的方式去学习。Art虚拟机有一个dex2oat的可执行程序。就想到了通过gdb和gdbserver来debug这个dex2oat。记录一下调试方法:gdb运行在本地系统(windows/linux)gdbserver运行在android真机/模拟器上(adb shell ls /syste

2016-05-06 19:49:13 4932

原创 第3章:Android系统的安全机制

Android安全机制 = Linux操作系统的内核安全机制基础(应用程序的进程间安全与应用程序与操作系统之间的安全)+Android进程沙箱隔离+Android独有的内存管理和进程通信3.1.1  Android的安全机制模型(1)内存管理Android共享内存机制Ashmem,Linux低内存管理OOM机制(2)权限声明显示声明权限,名称,权

2016-05-04 23:44:41 1199

转载 ubuntu14.04添加ia32-libs安装32位软件

ubuntu14.04添加ia32-libs安装32位软件MARK1。切换到root权限sudo -i2。进入apt源列表cd /etc/apt/sources.list.d3。添加ubuntu 13.04的源,因为13.10的后续版本废弃了ia32-libsecho "deb http://old-releases.ubuntu

2016-04-30 10:18:12 708

原创 简易爬虫实现校园网剩余流量查询

学校公众号要用爬虫查询校园网流量,记录一下实现这个简易爬虫的过程。开发工具:Eclipse,Chrome/Firefox第三方库”:jsoup:用来解析网页数据,HttpClient用来连接web页面,模拟get和post请求Step 1:明确目标简单的理解爬虫的过程就是模拟网页操作的过程,GET网页数据,POST数据请求的模拟。So,第

2016-04-29 21:37:14 6842 1

翻译 Android Runtime(ART)编译过程与所谓suspend-points

”ART’s Quick Compiler:an unofficial overview“Matteo Franchin     LCA15, February 2015看了这个关于ART的PPT,记录一下。ART编译器有两种一种叫做Portable(后端好像是llvm),还一种就是常用quick,下文介绍基于quick。  ART不仅仅编译执行,也会解释执行(跟dalvi

2016-04-12 20:38:59 1053

翻译 android5.0与android4.3中的栈的源码分析比较

android4.3中的dalvik解释栈和android5.0中的ART影子栈

2016-04-06 17:38:38 838

原创 TaintDroid实现数据流的污点追踪

TaintDroid实现数据流的污点追踪taintdroid不同层次的污点标签追踪:1:变量级别的追踪:java代码-->dalvik虚拟机的解释器的执行字节码-->对内存中的变量地址的下地址开辟一个32位的空间存储一个污点标签 图12:java方法中的污点标签传递开辟双倍空间的栈,以参数1的地址,参数1的污点标签,参数2的地址,参数2的污点标签……的方式开辟方法的栈空间 图2

2015-12-16 00:30:56 2680

原创 Handler源码解析

Handler源码解析先看几句简单的英文介绍A Handler allows you to send and process Message and Runnable objects associated with a thread'sMessageQueue.一个Handler允许你发送和处理它的相关联的线程的消息队列MessageQueue上的Messa

2015-12-04 21:11:12 613

原创 Android中handler的用法实例

Android中handler的用法实例Handler主要用于不同线程之间的通信,尤其是普通线程通过handler机制发送message给主线程(UI线程)来更新UI,或者是把耗时的操作发送给service让service来执行。Handler的主要功能就是,发送消息和处理消息主要用来实现异步回调功能,在新线程中做完一个费时的操作后,启动这个回调函数。

2015-12-04 20:07:57 4257 2

原创 Android短信----发送流程---框架层(Frameworks)

Android短信接收流程---框架层(Frameworks)/framework/base/telephony/java/com/android/internal/telephony/ISms.aidl /framework/base/telephony/com/android/internal/telephony/IccSmsInterfaceManager /teleph

2015-11-30 19:28:05 2360

原创 Android短信----接收流程---框架层(Frameworks)

Android短信接收流程---框架层(Frameworks)短信从ril.cpp进入框架层后的处理,最后短信在框架层通过广播发送到应用层。

2015-11-30 15:32:27 1361

空空如也

空空如也

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

TA关注的人

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