- 博客(142)
- 资源 (30)
- 收藏
- 关注
原创 【SDK热更系列】Android Hook 技术之 绕过系统对Activity验证
【SDK热更系列】Android Hook 技术之 绕过系统对Activity验证前言:我为啥要搞这玩意儿呢?原因如下: 1. 需求,还是xxxx的需求问题 2. 公司主要的SDK项目需要实现SDK级别的热更新功能 3. 市场上所有的组件化、插件化类的项目有如下缺点 1. 对主项目工程的依赖太大, 往往一些基本配置都要依赖于主要工程的项目源码才行...
2018-07-18 18:02:14
1224
原创 android 补丁框架RootFix
2018-4-11 先埋个雷,年前自己开发了一个android 补丁框架,支持立即生效和重启生效,先上github地址,后续讲讲原理. https://github.com/fangding/RootFix
2018-04-11 11:50:47
430
原创 Android应用瘦身
APK瘦身的价值APK瘦身严格来讲不算是对应用性能的优化,应该算是对程序体验的优化。APK瘦身的价值主要有几点:省流量:特别是在4G网络下,更多的移动流量表示需要花费更多的钱(别指望着用户一个月1、2G的流量专门给你腾出几十M来用于下载安装包);给用户一个好印象,试想用户在安装你的程序需要很长的时间时,不仅会影响到他的心情,更是在浪费他的生命;如果你的APK是预置到设备中,更大的APK表示需要占用...
2017-02-28 15:18:45
559
原创 Android N:开发者应注意什么?
Android 6.0这个棉花糖可能很多人还没尝到呢,但不管怎样,Android N还是要来了。Android N发布时间线新的Android系统带来了很多新特性:多窗口支持通知栏直接回复通知分组Doze模式2.0在关注这些新特性的同时,作为开发者,我们更应该注意新的是Android N给开发者带来了哪些改变?本文就给开发者朋友们讲述下我们应该注意什么(本文主要内容译自Behavior Chang...
2017-02-07 11:33:09
541
原创 EventBus 3 使用
Is what基于观察者模式的事件发布/订阅框架。通过极少的代码实现模块间的通信,无须层层传递。使用方便,性能高,接入成本低,降低耦合,支持多线程的优点。流程图3.0 新特性在EventBus 3.0版本中引入了 EventBusAnnotationProcessor(注解分析生成索引)技术,大大提高了EventBus的运行效率。1. 使用流程图1.1 添加依赖App 的 build.gradle...
2017-02-07 11:11:14
1000
转载 LeakCanary 中文使用说明
LeakCanaryAndroid 和 Java 内存泄露检测。“A small leak will sink a great ship.” - Benjamin Franklin千里之堤, 毁于蚁穴。 -- 《韩非子·喻老》demo一个非常简单的 LeakCanary demo: https://github.com
2016-09-20 15:47:11
598
原创 Android React Native使用原生模块
var React = require('react-native'); var { NativeModules,} = React; var Log1= NativeModules.Log; Log1.d("Log1","LOG");console("Log1","LOG");有时候我们的App需要访问平台API,并且React Native可能还没有相应的模块包
2016-02-03 10:26:57
1219
转载 Android应用setContentView与LayoutInflater加载解析机制源码分析
1 背景其实之所以要说这个话题有几个原因:理解xml等控件是咋被显示的原理,通常大家写代码都是直接在onCreate里setContentView就完事,没怎么关注其实现原理。 所以接下来主要分析的就是View或者ViewGroup对象是如何添加至应用程序界面(窗口)显示的。我们准备从Activity的setContentView方法开始来说(因为默认Activity中放入我们的xml或...
2015-12-09 23:30:14
745
原创 (仿360卸载后弹窗)Android卸载程序之后跳转到指定的反馈页面
想起360被卸载之后会跳转到指定的反馈页面,是怎么弄的?就百度了一下,果然网上似乎有相关的问题的解答,这里就将他们的步骤在细化一下了:其实这个问题的核心就在于:应用被卸载了,如果能够做到后续的代码逻辑继续执行我们再来仔细分析一下场景和流程一个应用被用户卸载肯定是有理由的,而开发者却未必能得知这一重要的理由,毕竟用户很少会主动反馈建议,多半就是用得不爽
2015-11-03 11:07:05
1521
1
原创 深入简出Socket 通信
前言: 官方的解释socket机制: 在网络编程中最常用的方案便是Client/Server(客户机/服务器)模型。在这种方案中客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一 直处于休眠状态,直到一个客户向这个服务的地址提出了连接请求。在这个时刻,服务程序被"惊醒"并且为客户提供服务-对客户的请求作出适当的...
2015-11-03 10:55:21
782
转载 Android开发之如何保证Service不被杀掉
序言最近项目告一段落,想起之前公司同事遇到一个问题:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill。我查了下网上的资料整合了下自己的经验,作出如下解答:这是Android开发中不可避免的问题。那么,参考了现今各种定制版的系统和安全厂商牛虻软件,如何能保证自己的Service不被杀死呢?其实除了常规的手段,我
2015-11-03 10:48:24
685
原创 奇酷360 手机中怎么跳转安全中心中指定包名App的权限管理页面
在处理SDK开发过程中遇到如下问题,在MIUI中,涉及浮窗的APP 需要在对应的软件设置页面打开 浮窗权限 才能正常使用APP,MIUI的权限设置入口就在应用管理页面,可以通过如下的代码跳转至该入口:private IntentgetAppDetailSettingIntent(Context context) {Intent localIntent = new Intent();localI...
2015-10-30 17:06:18
3338
原创 Android 程序框架设计
这篇文章主要内容来自于之前我讲的一个PPT文档,现在将其整理如下。欢迎指正。以下的内容都是来自于我自身的经验,欢迎大家多提自己的建议。1、一些概念模式的定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。什么是设计模式?设计模式是在
2015-09-23 10:35:25
624
转载 Android 设计模式 简介
简介项目开发中发现问题、解决问题这个过程中会出现很多问题,比如重复出现、某个问题的遗留,这些问题的本质就是设计模式。今天记录设计模式的知识点。内容在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。它们的耦合度依次增强。依赖关系:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一
2015-09-23 10:29:04
635
转载 BluetoothDevice.getType()-一个常常被忽略了的函数。好用的不要不要的
自动安卓发布了4.0版本的蓝牙协议之后,越来越多的开发者收到了各种针对于BLE蓝牙的开发需求。而且有很多时候还需要兼容以前的3.0版本,给大家的开发带来了困扰,笔者也遇到了这样的问题,偶然间发现了getType()这个函数的妙用。public int getType () Added in API level 18Get the Bluetooth device type of the
2015-09-07 17:14:25
4329
原创 Android 关于引用jackson的jar包混淆报错或打包后运行报错崩溃
json是个好东西, 现在CS架构的数据传递方式主要是XML 和 json. 两者都有各自的类似的解析方法. 而Android的开发环境已经内置了支持json和XML的解析, 而且给力! 但用得多了肯定不少人在想有没有解析json更加快捷有效的方法呢? 于是, fastjson, Jackson等等这些第三方也成了不少开发者的选择. 但是相应的, 引入第三方jar就意味着更多在混淆代码报错的几率,
2015-08-03 18:20:31
1929
原创 Android中app卡顿原因分析(ios顺滑)
关于ios app普遍比Android app顺畅,在这件事情上我认为主要是这三个原因:速度曲线。当你滑动界面然后松手,这时界面会继续滑动,然后速度减小,直到速度为0时停止。iOS下速度减小的这个过程比较慢,尤其是快要停的时候是慢慢停的,视觉上有种很顺滑的感觉;Android下则从松手到停要快很多,相比之下有种戛然而止的感觉。从数据/技术角度来看这个事情,我们滑动界面的最终目的不是
2015-07-27 14:54:51
3457
原创 Android应用性能调试
开篇性能问题汇总性能调试工具GPU呈现模式分析调试GPU过度绘制Method Profiling工具刷新时间ListView的ViewHolder一些技巧结束语开篇关于Android性能方面,不能不读这篇文章。作者是GOOGLE员工,同时也是个摄影爱好者。本文就是通过阅读这篇文章,结合Android 4.4平台和自身实践总结出来的,个人认为对Android应用程
2015-07-27 14:27:53
906
原创 还原反编译后AndroidManifest.xml乱码为明文
还原反编译后AndroidManifest.xml乱码工具 使用方法: java -jar AXMLPrinter2.jar D:\AndroidManifest.xml > AndroidManifest.txt AXMLPrinter2.jar下载地址 : 点击打开链接
2015-07-23 11:37:16
9938
转载 如何将eclipse导出的doc文档转换为chm格式
1、首先确保你的电脑安装了htmlhelp.exe软件。 点击打开 htmlhelp.exe和jd2chm.exe下载地址2、通过eclipse或者myeclipse导出doc文档。 项目名称上点击右键-->export-->选择Javadoc--->next--->finish即可导出到自己制定的文件夹下。注:若遇到导出文档乱码,则点击上图
2015-07-15 17:57:37
1144
转载 Android中滑屏实现----手把手教你如何实现触摸滑屏以及Scroller类详解
前言: 虽然本文标题的有点标题党的感觉,但无论如何,通过这篇文章的学习以及你自己的实践认知,写个简单的滑屏小 Demo还是just so so的。 友情提示: 在继续往下面读之前,希望您对以下知识点有一定程度掌握,否则,继续看下去对您意义也不大。 1、掌握View(视图)的"视图坐
2015-07-09 14:47:12
772
转载 android DexClassLoader动态加载技术详解
介绍做项目到一定庞大的时候就会发现方法数太多,安装包根本就装不上去了,这个也不足为奇,我们都知道当方法数目超过65536这个数目限制的时候,挡在2.x的系统上面就会出现无法安装的情况,这个时候动态加载技术就显得非的重要了,我们的项目中为了兼容2.x的手机也是用到了android的动态加载技术,这里我会详细的讲解一下怎么去用,怎么实战,我感觉,空谈理论不如动手来得实在。实例下面就通过一个
2015-06-18 15:21:47
863
原创 Android横竖屏切换不重新调用onCreate()
今天一个哥们遇到问题,横竖屏切换的时候onCreate不想重复调用了,而网上的解决办法是android:configChanges=”keyboardHidden|orientation|screenSize”网上的加爵办法都是很老的了,再次感叹Android的碎片化!!!!设置AndroidManifest.xml中Activity的android:configChanges=”keyb
2015-05-22 13:56:00
3277
转载 PhoneGap教程(一):环境搭建
PhoneGap开发环境搭建项目中要用PhoneGap开发,了解了下基本规则,记录一下,以备后查。(只针对Android平台) 一、安装在安装PhoneGap开发环境之前,需要先安装以下框架:1.Java SDK2.Eclipse3.Android SDK4.ADT Plugin5.PhoneGap 说明:1.Java SDK直接
2015-05-04 10:57:57
799
转载 android压力测试命令monkey详解
这篇文章主要介绍了android monkey命令详解,Monkey 就是SDK中附带的一个工具,该工具主要用于进行压力测试,需要的朋友可以参考下一、Monkey 是什么?Monkey 就是SDK中附带的一个工具。二、Monkey 测试的目的?:该工具用于进行压力测试。 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题。
2015-04-01 15:43:38
780
转载 gradle/maven/eclipse工程相互转化
gradle/maven/eclipse工程相互转化:前提安装好相应的工具和插件。1、Maven->eclipsemvn eclipse:eclipse2、eclipse->maven安装好maven插件后,在eclipse工程右键项目:转换为maven工程即可。3、gradle->eclipse编辑build.gradle文件,在文件最前面增加一行:
2015-03-17 10:25:40
2737
转载 Android源码分析—带你认识不一样的AsyncTask
前言什么是AsyncTask,相信搞过android开发的朋友们都不陌生。AsyncTask内部封装了Thread和Handler,可以让我们在后台进行计算并且把计算的结果及时更新到UI上,而这些正是Thread+Handler所做的事情,没错,AsyncTask的作用就是简化Thread+Handler,让我们能够通过更少的代码来完成一样的功能,这里,我要说明的是:AsyncTask只是
2015-03-04 17:22:01
623
转载 android跨进程通信(IPC):使用AIDL
前言之前一直想总结下AIDL,今天无意中看到这篇文章没觉得讲得不错,copy之…………AIDL的作用AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码。如果在一个进程中(例如Activ
2015-03-04 17:11:09
648
转载 APK动态加载框架(DL)解析
转载请注明出处:http://blog.youkuaiyun.com/singwhatiwanna/article/details/39937639 (来自singwhatiwanna的csdn博客)前言好久没有发布新的文章,这次打算发表一下我这几个月的一个核心研究成果:APK动态加载框架(DL)。这段时间我致力于github的开源贡献,开源了2个比较有用且有意义的项目,一个是PinnedHead
2015-03-04 17:05:07
722
原创 Smali和逆向分析
1.Smali简介Smali是Dalvik的寄存器语言,它与Java的关系,简单理解就是汇编之于C。假如你对汇编有足够的驾驭能力,那你可以通过修改汇编代码来改变C/C++代码的走向。当然,学过汇编的都清楚,汇编比BrainFuck还难学,更不用说去反编译修改了。但是Smali有一点不一样,就是它很简单,只有一点点的语法,只要你会java,了解Android的相关知识,那你完全可以通
2015-03-03 09:53:39
7523
转载 Android 内存onLowMemory& onTrimMemory优化
onLowMemory& onTrimMemory简介:OnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLowMemory。OnTrimMemory是Android 4.0之后提供的API,系统会根据不同的内存状态来回调。根据不同的内存状态,来响应不同的内存释放策略。
2015-02-10 16:36:47
1022
转载 Android 中的缓存机制与实现
Android开发本质上就是手机和互联网中的web服务器之间进行通信,就必然需要从服务端获取数据,而反复通过网络获取数据是比较耗时的,特别是访问比较多的时候,会极大影响了性能,Android中可通过二级缓存来减少频繁的网络操作,减少流量、提升性能。一、二级缓存工作机制 所谓二级缓存实际上并不复杂,当Android端需要获得数据时比如获取网络中的图片,我们首先从
2015-02-10 09:40:15
1117
转载 Android四大组件之—— 使用服务进行后台操作
这片文章对service总结的不错,什么是服务 服务是一个没有可视化界面的组件,它可以在后台长期运行并进行各种操作。 服务的创建 我们只需要继承Service类并实现相应的方法即可创建服务 要想启动服务,还得在AndroidManifest中注册服务 服务类的示例代码 12345
2015-02-09 17:43:17
696
转载 Android开源工具库
一、依赖注入DI通过依赖注入减少View、服务、资源简化初始化,事件绑定等重复繁琐工作1. AndroidAnnotations(Code Diet) android快速开发框架项目地址:https://github.com/excilys/androidannotations文档介绍:https://github.com/excilys/androidannotations/
2015-02-03 16:35:39
579
转载 正则表达式30分钟入门教程
之前一直苦于正则表达式的整理,现在借用下资源跳过目录本文目标如何使用本教程正则表达式到 底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负 向零宽断言注释贪婪与懒惰处理选项平衡组/递 归匹配还 有些什么东西没提到联系作者最 后,来点广告……网上的资源及本文参 考文献更新纪录本文目标30分钟内让你明白正则表达式是什么
2015-02-03 14:54:44
880
转载 Android Design与Holo Theme详解
在 国内,有个很有意思的现状。一方面,几个国内最大的公司/企业的客户端/应用依旧冥顽不灵,丝毫不愿意遵循 Android Design,以各种扯淡的理由坚持使用 iOS UI 或者 Metro UI,或者其他叫不出名字的 UI;另一方面,Holo Theme 作为 Android Design 的一部分,渐渐为更多的用户和开发者所知晓。很多个人开发者都开始在 Play Store 和国内各大市场发
2015-02-02 10:17:15
598
转载 Volly 框架简介
、什么是volley Volley是Ficus Kirpatrick在Gooogle I/O 2013发布的一个处理和缓存网络请求的库,能使网络通信更快,更简单,更健壮。Volley名称的由来: a burst or emission of many things or a large amount at once。在Google IO的演讲上,其配图是一幅发射火弓箭的
2015-01-29 11:59:22
1110
转载 使用Vitamio打造自己的Android万能播放器
前言 Vitamio系列文章至今受到了许多Android开发者和创业者的关注,新版的SDK也在千呼万唤中发布,虽然处于内测阶段,已明显改善并达到预期,极其方便和友好的集成到自己的产品中,欢迎大家抢先测试! 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://ove
2015-01-29 11:44:32
848
原创 Android Touch事件传递机制解析
在讲正题之前我们讲一段有关任务传递的小故事,抛砖迎玉下:话说一家软件公司,来一个任务,分派给了开发经理去完成:开发经理拿到,看了一下,感觉好简单,于是开发经理:分派给了开发组长开发组长:分派给了自己组员(程序员)程序员:分派给了自己带的实习生。实习生:好苦逼,无法分派,怎么办啊?只能自己干了但是实习生能不能做好,有两种情况了。情况一:实习生:经过一段时间的研究,琢磨,熬夜,奋斗,死敲,皇天不负有心...
2015-01-29 10:53:16
771
原创 Dalvik VM和JVM的浅析
http://zh.wikipedia.org/wiki/Androidhttp://zh.wikipedia.org/wiki/Dalvik虚拟机http://zh.wikipedia.org/wiki/Java虚拟机 一、Dalvik VM和JVM的理解 JVM是一个虚构出来的运行Java程序的运行时,是通过在实际的计算机上仿真模拟各种计算机功能的实现
2015-01-27 10:31:38
829
Android Hook 技术之 绕过系统对Activity验证
2018-07-18
apktool_2.2.1.jar
2016-11-29
apktool_2.1.1.jar
2016-11-29
apktool_2.1.0.jar
2016-11-29
apktool_2.0.3.jar
2016-11-29
apktool_2.0.2.jar
2016-11-29
apktool_2.0.1.jar
2016-11-29
apktool_2.0.0-RC4
2016-11-29
Android-Material-circular-button图片切换和按钮联动效果
2015-10-14
jd2chm.exe
2015-07-15
pulltorefresh实例
2015-03-09
Android游戏源码经典游戏别踩白块钢琴块源码
2014-08-09
Android例子源码捕获应用全局异常避免强制退出并写出日志到sd卡
2014-08-09
Android例子源码模仿安卓微信、云播雷达扫描动画效果
2014-08-09
Android例子源码科大讯飞语音识别最简单的使用例子
2014-07-10
Android例子源码仿IOS6和7的开关按钮实现
2014-07-10
Android基于XMPP的仿微信源码
2014-07-10
Google最新(可刷新任何控件)
2014-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人