关键字: DexClassLoader throw new RuntimeException("Stub!")Android Studio 查看 dalvik.system ...
关键字: DexClassLoader throw new RuntimeException("Stub!")Android Studio 查看 dalvik.system ...
Android Jetpack组件 —— Room使用详解及常用数据库对比 一、 Room介绍 Room是Jetpack组件中一个对象关系映射(ORM)库。可以很容易将 SQ...
1. 问题出现的背景 腾讯视频在集成我们 replay sdk 的时候发现这么个错误,导致整个 db mock 功能完全失效。 我清晰的记得我们引入了一个第三方解决方案,在 ...
概述 创建一个gradle项目之后,rootProject下面会生成gradle.properties和local.properties文件,如下图: properties其...
@JvmStatic 告诉jvm生成静态方法和成员@JvmOverloads 生成Java重载方法,应用于kotlin方法有默认值生成对于的java方法@JvmName 改变...
今天再给大家带来一篇干货。 Android的主题换肤 ,可插件化提供皮肤包,无需Activity的重启直接实现无缝切换,可高仿网易云音乐的主题换肤。 这个链接是本次的Demo...
一:TextInputFormatter篇 (1)忽略特殊字符 (2)只能输入数字和小写字母 (3)只能输入数字和字母 (4)只能输入数字 (4)长度限制(限制6位) (6)...
可以实现的声音种类:萝莉、大叔、肥仔、搞怪、熊孩子、慢吞吞、网红女、困兽、重机械、感冒、空灵等。 本方法是通过github开源的项目 TarsosDSP废话不多说,先上代码 ...
目录 AAPT解释,作用 AAPT基本命令 AAPT编译资源源码解析 AAPT打包和系统不一致的资源ID AAPT是什么 AAPT - Android Asset Packa...
简介 ASM是java字节码操作框架,利用该框架可以达到动态修改java运行对象代码的目的,也可以实现动态代理等功能; 线程和栈帧 要了解ASM字节码操作,先要熟悉jvm线程...
这一篇我们好好聊一聊协程的原理,通过上一篇的学习,相信大家对于如何使用协程已经非常熟悉了。 故事还得从上次的协程分享开始,由于大家对协程的实践并不多,所以大家对下面的这段代码...
转载请注明出处:https://www.jianshu.com/p/286d2b372334github:https://github.com/rushgit/zhongwe...
目录 1、tinker的class文件修复2、tinker的资源文件修复3、几种热修复方案对比 1、tinker的class文件修复 1.1、先说dex文件的加载和类的查找过...
一、学习目标 1、 了解 Gradle Plugin 的作用是什么? 2、 如何去定义一个 Gradle Plugin? 3、 自定义插件扩展Extension。 一、Gra...
因为要做一个无埋点收集数据的功能,需要自定义一个Plugin,搜到的方法大部分都是打印一个HelloWorld,没有任何的参考价值,所以详细记录一下过程。如果想对编译的cla...
写在前面 当在10亿数据进行不到30次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感。 终于,在学习了几天的红黑树相关的知识后,我想把我所学所想...
1.什么是编译插桩? 顾名思义,所谓的编译插桩就是在代码编译期间修改已有的代码或者生成新代码。 如图,这是Java代码的编译流程。从图中可以看出,编译插桩可以从两个方面着手 ...
2020-02-05更新:有人问我转接头链接,我就直接放到文字最后了。 2019-07-18更新:问题解决了,我修改了mac休眠方式,由默认的3改成了25,现在合盖一晚上都咋...