Android热门技术
文章平均质量分 62
徐乙
这个作者很懒,什么都没留下…
展开
-
Android插件化架构之Hook绕过manifest检测
学习自https://www.jianshu.com/p/e359fafe5c29问题我们插件apk是不会进行一个安装的,那么他的manifest就不会生效,所以我们直接启动肯定是行不通的。所以我们只能隔绝掉我们主apk的manifest的检测。具体思路如下只需要动态代理hook,先在AMS的startActivity的方法中的Intent中启动一个已注册的活动假扮,然后在ActivityThre...原创 2018-05-16 22:42:38 · 1507 阅读 · 2 评论 -
Android Aspect
仅作个人记录使用收集了网上一波信息,AOP较好的实现是Aspect,但是Android中配置较为困难,且现有的实现在as3.0中出了问题,所以就放弃实战了,直接学理论吧首先最经典的控件连续多次点击用AOP消化掉多余事件我平时注解用的也不少,但是这个注解就厉害了,甚至不用我获取还有一点就是原理是重新编译了Java代码,所以性能的损耗是在编译器中的,可以说是很不错了,兼顾了抽象与性能给你看个经典的网络...原创 2018-06-07 22:19:59 · 1191 阅读 · 1 评论 -
Android插件换肤之AssetManager相关源码分析
学习自https://www.jianshu.com/p/5eac94143bd6本文可不看 没啥意义AssetManager.mObject是native层的AssetManager /** * Create a new AssetManager containing only the basic system assets. * Applications will ...原创 2018-05-16 16:34:47 · 725 阅读 · 0 评论 -
Android插件换肤之入门实战
学习自https://www.jianshu.com/p/5eac94143bd6首先是TypedArray进行一个定义,所以我们才能以src=...的形式去声明图片。所以我们需要关注TypedArray.getDrawable方法。其实他的本质还是像我们平时一样,通过Resource去获取drawable。通过Resource去获取drawable的流程大致如下先去找ResourceImpl的c...原创 2018-05-16 16:06:20 · 276 阅读 · 0 评论 -
Android加载未安装的APK中的类
学习自https://blog.csdn.net/fwt336/article/details/53336810他的才是加载apk里的内容,想看加载外源apk的可以去这个链接里看。我这里图方便,直接加载dex里的东西了。熟悉ClassLoader的朋友都知道,PathClassLoader仅仅能加载已安装的APK中的类,DexClassLoader就灵活度很高了,许多压缩文件他都可以进行一个加载。...原创 2018-05-15 23:26:13 · 652 阅读 · 0 评论 -
Android热修复之替换原有classes.dex的源代码分析
我们在服务端下载修复bug后的classes.dex并且动态替换原有的classes.dex这个过程的源代码的分析是我们今天要讨论的。文末给出所有源码。Context家族的classloader就是Android默认的加载器PathClassLoader。所以我们很简单一句话就可以获得了。ClassLoader pathClassLoader = context.getClassLoader();...原创 2018-05-15 23:04:59 · 2517 阅读 · 2 评论 -
AndroidStudio 3.1 multi dex 分包
我弄了半天 发现还是不行结果欲哭无泪 原来是我的反编译软件坏了!后来我用了analyzer,发现确实是分包成功了我现在希望把MainActivity分到主包中Other分到2包中怎么做?build.gradledefaultConfig { applicationId "com.example.myapplication" minSdkVersion 16 targetSd...原创 2018-05-15 20:54:36 · 1111 阅读 · 1 评论 -
Android热修复、multi dex入门
学习自https://www.jianshu.com/p/5f390be47ce8号称最简单的热修复,当然简单也有其弊端,不过作为入门教学,很好我们需要做的就是把补丁dex放到element数组的第一位。到这里可能还有点模糊,继续。multi dexhttps://blog.csdn.net/qq_36523667/article/details/80329077这篇文章可以很好的进行一个分包分包...原创 2018-05-15 22:35:05 · 361 阅读 · 0 评论 -
Android收集崩溃信息的原理
学习自https://www.jianshu.com/p/91f494c7adf6更推荐去集成sdk,本文侧重原理的解读腾讯https://bugly.qq.com/v2/index友盟http://www.umeng.com/收集工具类public class ExceptionCrashHandler implements Thread.UncaughtExceptionHandler {...原创 2018-05-14 21:36:50 · 942 阅读 · 0 评论 -
Android Sophix热修复 集成中遇到的问题
集成文档可以参考官方文档https://www.jianshu.com/p/8ea4d653a53e终于成功了我在集成中遇到的问题1.app id的问题官网显示的是app你需要再功能里 上传一个补丁后 点击补丁的详情 才能看见你的app-id2.application中代码问题public class SophixApp extends Application { @Override ...原创 2018-04-22 11:48:59 · 1828 阅读 · 3 评论 -
Android增量更新 windows下的bisdiff工具
学习自https://blog.csdn.net/lmj623565791/article/details/52761658https://blog.csdn.net/z191726501/article/details/52802104由于自己懒得编译 也害怕编译失败浪费时间 所以就找到windows下现有的bisdiff工具下载地址是上面第二个链接1.解压2.cmd到这个目录下3.生成增量文件...原创 2018-05-07 08:57:24 · 757 阅读 · 2 评论 -
Android增量更新之签名校验
学习自https://www.jianshu.com/p/4132834b7fe7前言:正常途径拿不到,只能通过反射拿到PackageParser /** * 获取该目录下的apk签名 * @param path 当前apk路径 * @return */ public static String getSignature(String pat...转载 2018-05-17 23:49:39 · 476 阅读 · 0 评论 -
Android进程保活
www.jianshu.com/p/53c4d8303e192个方法:1.不让杀2.杀了复活进程优先级1.前台进程 resume2.可见进程 pause3.服务进程 音乐、下载4.后台进程5.空进程提升优先级1.前台服务(启用2个前台服务,消除通知),变成可见进程2.广播监听锁屏解锁,启动1像素活动杀了复活1.提示勾选白名单2.双进程保活3.onStartCommand中返回START_STICK...原创 2018-04-27 17:18:15 · 152 阅读 · 0 评论 -
Android Nullaway框架,从此告别NPE
https://github.com/uber/NullAwayproject gradle下3.0以前,repositories标签下添加maven { url 'https://maven.google.com' }3.0以后添加google()同时repositories标签下还要添加maven {url "https://plugins.gradle.org/m2/"}plugins { ...原创 2018-06-09 12:22:49 · 1205 阅读 · 4 评论