Android DexHelper帮你解决65536问题

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

2017-08-06 08:44:45

阅读数:1462

评论数:2

VirtualApp 进程分配与管理

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

2017-08-05 10:16:47

阅读数:2253

评论数:0

VirtualApp 中的进程

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

2017-08-05 10:15:12

阅读数:1549

评论数:0

VirtualApp Java层Hook基础

VirtualApp Java层Hook基础-反射注入Hook技术是VirtualApp(后续简称VA)的核心实现原理之一。0x00. 什么是Hook Hook是Windows中提供的一种用以替换DOS下“中断”的系统机制,中文译为“挂钩”或“钩子”。在对特定的系统事件进行hook后,一旦发生...

2017-07-13 12:29:15

阅读数:3656

评论数:0

Android-skin-support: 实现原理

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

2017-01-18 20:25:59

阅读数:4995

评论数:12

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

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

2017-01-17 21:03:10

阅读数:11510

评论数:11

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

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

2016-12-18 15:34:11

阅读数:5246

评论数:0

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

实现Android动态部署的过程中最重要的是从插件apk中启动四大组件,经过前面几篇文章的分析,现在只剩下BroadcastReceiver和ContentProvider了,BroadcastReceiver是可以通过java代码动态注册的,这篇文章中会详细分析一下ContentProvider...

2016-04-07 11:35:00

阅读数:3278

评论数:0

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

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

2016-04-06 14:04:43

阅读数:4136

评论数:0

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

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

2016-04-05 15:46:26

阅读数:2071

评论数:3

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

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

2016-03-18 23:05:07

阅读数:2154

评论数:1

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

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

2016-03-14 15:30:32

阅读数:3752

评论数:0

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

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

2016-03-14 12:20:41

阅读数:5511

评论数:1

浅谈android add_service PERMISSION DENIED问题

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

2016-01-05 12:20:41

阅读数:6191

评论数:0

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

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

2015-10-10 19:06:45

阅读数:1802

评论数:3

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

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

2015-10-08 19:04:00

阅读数:1552

评论数:0

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

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

2015-09-29 20:33:52

阅读数:1806

评论数:0

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

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

2015-09-27 02:46:07

阅读数:2428

评论数:0

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

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

2015-09-25 19:14:48

阅读数:2339

评论数:0

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

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

2015-01-20 10:33:49

阅读数:696

评论数:0

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