7 ximsfei

尚未进行身份认证

从事Android开发

等级
博文 21
排名 7w+

Android DexHelper帮你解决65536问题

AndroidDexHelper帮你解决65536问题一.前景随着Android平台的持续成长,Android应用的大小也在增加。当应用及其引用的库达到特定大小时,会遇到构建错误,指明你的应用已达到Android应用构建架构的极限。一般情况下,你会获得类似的错误信息:Dex:Thenumberofmethodreferencesina.dexfilecannotexceed

2017-08-06 08:44:45

VirtualApp 进程分配与管理

一.前景在Android中每个App在启动前必须先创建一个进程,该进程是由Zygotefork出来的,进程具有独立的资源空间,用于承载App上运行的各种Activity/Service等组件。进程对于上层应用来说是完全透明的,这也是google有意为之,让App程序都是运行在AndroidRuntime。大多数情况一个App就运行在一个进程中,除非在AndroidManifest.xml

2017-08-05 10:16:47

VirtualApp 中的进程

一.什么是进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。–来自百度百科二.VA进程VA在运行时,存在四种类型的进程:

2017-08-05 10:15:12

VirtualApp Java层Hook基础

VirtualAppJava层Hook基础-反射注入Hook技术是VirtualApp(后续简称VA)的核心实现原理之一。0x00.什么是HookHook是Windows中提供的一种用以替换DOS下“中断”的系统机制,中文译为“挂钩”或“钩子”。在对特定的系统事件进行hook后,一旦发生已hook事件,对该事件进行hook的程序就会收到系统的通知,这时程序就能在第一时间对该事件做出响应。

2017-07-13 12:29:15

Android-skin-support: 实现原理

背景换肤方案原理在网上已经很多了,这里不再详细描述,强迫症的我总是想让提供给别人使用的SDK尽量好用,哪怕是给自己带来额外的工作量,经过一段时间的奋斗,实现了一个自我感觉良好的换肤框架.这里主要来看看Android源码中”com.android.support:appcompat-v7”包的实现,以及源码思想在Android-skin-support中的应用–如何打造一款好用的换肤。

2017-01-18 20:25:59

Android-skin-support 一款用心去做的Android 换肤框架

Android-skin-support:一款用心去做的Android换肤框架,极低的学习成本,极好的用户体验.只需要两行代码,就可以实现换肤,你值得拥有!!!

2017-01-17 21:03:10

从零开始进入ArchLinux的世界-安装

每次重新安装ArchLinux,我都需要看一遍wiki,在这里记我安装archlinux的整个过程,方便以后快速获取有用的信息.

2016-12-18 15:34:11

Android动态部署六:如何从插件apk中启动BroadcastReceiver和ContentProvider

实现Android动态部署的过程中最重要的是从插件apk中启动四大组件,经过前面几篇文章的分析,现在只剩下BroadcastReceiver和ContentProvider了,BroadcastReceiver是可以通过java代码动态注册的,这篇文章中会详细分析一下ContentProvider的安装流程以及调用getContentResolver方法后的获取ContentProvider的流程。

2016-04-07 11:35:00

Android动态部署五:如何从插件apk中启动Service

接下来我们通过分析Service启动流程来看看宿主apk如何启动Android四大组件之Service。

2016-04-06 14:04:43

Android动态部署四:如何从插件apk中启动Activity(二)

接下来我们来详细分析一下为什么在启动插件apk中的Activity时我们需要替换Context,Resources,AssetManager,Theme,Title,Application等信息。

2016-04-05 15:46:26

Android动态部署三:如何从插件apk中启动Activity(-)

接下来我们就来分析一下从Activity中startActivity的流程,以及如何实现动态部署,怎样从插件apk中启动Activity。

2016-03-18 23:05:07

Android动态部署二:APK安装及AndroidManifest.xml解析流程分析

在上一篇文章:Android动态部署:Google原生SplitAPK浅析中,简单描述了Google实现SplitApk的机制。接下来我们就开始一步步的实践,自己手动实现非安装apk的动态加载。

2016-03-14 15:30:32

Android动态部署一:Google原生Split APK浅析

在分析Android动态部署原理之前,我们先通过以下四点来分析一下Google原生支持的SplitAPK机制,了解了SplitAPK机制之后,可能会对大家深入理解Android动态部署原理有一定的帮助。1.什么是SplitAPK2.在实际开发中如何应用3.如何安装4.SplitApk解析时序图

2016-03-14 12:20:41

浅谈android add_service PERMISSION DENIED问题

背景:在Android开发中,经常会用到ServiceManager.addService(name,service);添加系统服务也许你会很迷惑,在程序运行时,部分servicename能成功添加,而部分servicename会抛出如下异常:Tag:ServiceManagerMessage:add_service('xxx',xx)uid=xxxx-PERMISSIONDENIED

2016-01-05 12:20:41

Android 5.1 Contacts源码分析(五):PeopleActivity

1.PeopleActivity主界面UI显示下图为联系人主界面(PeopleActivity)的类图:PeopleActivity除了实现了类图中的四个接口,还实现了View.OnCreateContextMenuListener和View.OnClickListener,其中Activity源码中已经实现了OnCreateContextMenuListener:publicclass

2015-10-10 19:06:45

Android 5.1 Contacts源码分析(四):Contacts模块ListView Adapter结构

1.Contacts模块列表界面Adapter结构:下图是联系人模块列表窗口对应的Adapter类图:从上一篇文章Contacts模块Fragment结构中已知,联系人列表界面中的ListView的Adapter大部分继承自ContactEntryListAdapter。而从该类图中可知:ContactEntryListAdapter最终继承自CompositeCursorAdapt

2015-10-08 19:04:00

Android 5.1 Contacts源码分析(三):Contacts模块Fargment结构

1.Contacts模块Fragment结构:下图为联系人模块主要窗口中的Fragment类图:从类图中可以看出,联系人大部分原生的列表界面(主界面,多选界面等,余下Fragment未列出),其中的Fragment都继承自ContactEntryListFragment,,而基类ContactEntryListFragment<TextendsContactEntryListAdapte

2015-09-29 20:33:52

Android 5.1 Contacts源码分析(二):Contacts模块主要窗口

Contacts模块中Activity的结构:基类ContactsActivity实现了ContactSaveService.java中的Listener接口,ContactSaveService中封装了大量联系人操作的接口。例如:createNewRawContactIntent(),createSaveContactIntent

2015-09-27 02:46:07

Android 5.1 Contacts源码分析(一):Contacts模块文件结构

Contacts目录下Android.mk文件分析;Contacts文件结构;

2015-09-25 19:14:48

在Android中使用ViewPager实现左右滑动页面

通过学习源码,实现了一个简单的demo,在Android中使用ViewPager实现左右滑动页面。

2015-01-20 10:33:49
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!