android
蚊子点水
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Tinker1.9.14.5 一行代码没改生成补丁包含大量变更的问题
背景tinker热修复应该很多人都在用,但其实还是有些BUG的。官方据称内部版本与开源版本一致。这不。。又被我碰到一个BUG,差点被坑惨了,导致了半年的热修复不能用,最近空闲下来仔细研究了下原因,终于是找到问题了。问题一行代码没改。每次生成出来的补丁有260KB。原因经过多次对比、排除实验,发现每次都是因为有大量的R文件的res id改变导致。那么导致资源变更的原因是什么呢?最后发现tinker基准包生成的R.txt文件与实际最后补丁包生成的R.txt文件部分ID的值变了,从而导致所有引用的原创 2020-11-13 11:27:25 · 623 阅读 · 0 评论 -
Matrix导致tinker补丁包过大问题
背景这是个大坑,记录下。项目接入了tinker做热修复,可是呢一行代码不改,你猜补丁多大?10M加固后生成的补丁,你猜多大?18M这简直是不能接受啊!结论先说结论,因为其他都是废话,也没人关心,希望结论能帮助到他人。matrix导致tinker补丁过大项目里用例tinker+matrix,这俩是微信一家的matrix在做方法耗时插桩时,会在代码里每个方法里插入开始和结束...原创 2020-04-03 23:45:34 · 561 阅读 · 0 评论 -
jenkins 并发构建Android 报错:Gradle build daemon disappeared unexpectedly (it may have been killed or may
问题jenkins CI的时候,如果一台机器只执行一个job,是很大的浪费。那么我们可以把一台slave设置成多进程并发的执行。在使用Gradle编译Android时,出现了错误:Gradle build daemon disappeared unexpectedly (it may have been killed or may ...是因为jenkins并发执行会将gradle杀掉。...原创 2019-08-12 11:20:46 · 7511 阅读 · 0 评论 -
Jenkins指定build number起始
背景jenkins每次编译都会生成一个build号,并且是从1一直递增的。那么有时候我们想像数据库那样,指定从10000号开始递增,该如何做呢?解决方案在jenkins主菜单,jenkins->系统管理->脚本命令行。进入命令行模式:输入命令点运行即可:Jenkins.instance.getItemByFullName("对应的job_name").updateNextB...原创 2019-08-13 12:18:39 · 2990 阅读 · 0 评论 -
Android如何创建Gradle插件开发工程及调试
背景想写一个Gradle Transform Api,真的是怎么建一个Gradle插件,网上一水的水文,写的不明不白。代码都不全,还是得靠自己摸索。因此,在这里整理总结一下为大家提供出来。如何创建Gradle插件工程基于com.android.tools.build:gradle:3.4.0,下面分为几步,介绍如何配置Gradle插件开发工程。按照以下几步即可。新建Android项目这...原创 2019-06-25 20:25:51 · 3263 阅读 · 2 评论 -
如何输出优秀的代码
前言有时候看别人的代码,虽然执行结果一样,但是会发现自己的代码写的跟屎一样。那么有哪些方法可以让我们自己也写出比较优雅通俗易懂的代码呢?任何代码都是人一行行码出来的,因此还是要提高自己的水平来输出优秀的代码。我们从以下几个方面来提高自己:命名规范适当的注释消灭重复超大的函数if-else简化设计模式命名规范好的命名规范是写好代码的第一步,命名别人都看不懂,最后自己都看不懂...原创 2019-06-19 12:34:32 · 575 阅读 · 0 评论 -
java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security polic
现在Android系统的控制越来越严了。如果APP发送网络请求碰到这个错误可以通过以下步骤解决:在AndroidManifest.xml里添加网络权限。在application标签中添加android:usesCleartextTraffic="true"属性。...原创 2019-05-20 19:23:56 · 416 阅读 · 0 评论 -
KotMVP-Android Studio自动生成MVP模板代码
前言本来准备用KotMVP做个小APPDemo,结果。。用起来太麻烦了,每次创建新的界面还得创建一大堆文件。简直手累+心累。突然想起来,Android Studio不是自带代码模板吗?结果发现Android Studio并不支持多个文件的模板,并且有一些局限性。期间我也百度过。大部分都是在Android Studio安装目录按照内置的模板去做。但是,这么做太复杂了,完全考猜。因此,把目标转...原创 2019-02-20 10:31:54 · 571 阅读 · 1 评论 -
Coroutine与LifecycleOwner绑定自动跟随生命周期销毁
原文链接前言前面讲了Coroutine的实现原理。对协程有个初步的认识。我们都知道协程是运行在CoroutineScope之下,而CoroutineScope下的协程也是有父子关系的。那么父协程取消的时候会取消所有子协程。由此我们可以想到:CoroutineScope如果与Activity生命周期绑定,activity销毁了后CoroutineScope下的所有子协程就会随着activit...原创 2019-02-12 17:13:49 · 2996 阅读 · 0 评论 -
Android Kotlin Coroutine原理简述
KotlinKotlin已经被谷歌指定为Android的第一开发语言,现在大多数团队都在改用kotlin进行开发。而kotlin的版本发布也挺快,目前出了一些新的东西可以进行尝试。Coroutine2018年10月的样子,Kotlin1.3正式发布,其中有一项特性是Android开发中以前从未有过的,那就是Coroutine,而且是正式版。其实Coroutine的概念在1963年就由梅尔文...原创 2019-01-30 10:25:40 · 3012 阅读 · 0 评论
分享