
开发笔记
文章平均质量分 80
进击的代码家
这个作者很懒,什么都没留下…
展开
-
Activity16问
横竖屏切换时Activity生命周期注意:还有一点,非常重要,一个 Android 的变更细节!当 API >12 时,需要加入 screenSize 属性,否则屏幕切换时即使你设置了 orientation 系统也会重建 Activity !2.不同场景下 Activity 生命周期的变化过程3.如何处理异常退出您可通过使用 ViewModel 对象来减轻重新初始化 Activity 的负担。系统会在配置变更时保留 ViewModel,使其成为保存界面数据的理想场所,让您无需再次查.原创 2021-02-11 17:45:41 · 337 阅读 · 0 评论 -
谷歌Play马甲包检测逻辑推测及应对措施
做海外项目的同学一定都会遇到马甲包的问题,马甲包是指除了与主包ICON和应用名不一致,其它内容基本相同。作用:给主包导流覆盖关键词,增加曝光量功能测试不过2021年开年以来,谷歌对马甲包的检测收紧,那么我们就必须知道谷歌是如何检测马甲包的。谷歌如何检测马甲包?我们将代码反编译:从反编译的产物可以猜测出如下几个可能点:1.通过比对dex,通过代码的相似程度来判断2.比对res文件夹下资源相似程度3.比对AndroidManifest.xml中的声明的四大组件等,比对相似程度马甲包原创 2021-01-20 21:46:12 · 10393 阅读 · 0 评论 -
Android gradle打印依赖的各种姿势
查看Android Gradle 依赖树1.查看单独模块的依赖命令行 ./gradlew :模块名:dependencies 例子: ./gradlew :app:dependencies这个命令会将 gradle 执行的各个步骤全打印出来,包括引用的库,和库中引用的库文件 ./gradlew :app:dependencies --configuration implementation可以配置 configuration 参数只查看 implementation 的依赖树。2.查原创 2020-11-28 15:44:30 · 8876 阅读 · 0 评论 -
android gradle调试debug不到代码问题
自己写了gradle插件,模块如下:并发布到本地仓库,在另一个module引入这个插件准备好调试的一切后,点击右侧,发现点没走进去后来发现在这里执行不行,需要通过命令行,代码如下:mayunlongdeMacBook-Pro:AndroidApkPlugin mayunlong$ cd demomayunlongdeMacBook-Pro:demo mayunlong$ .././gradlew assembleDebug调试成功...原创 2020-10-29 11:37:08 · 747 阅读 · 0 评论 -
gradle plugin baseExtension getCompileSdkVersion为null问题
自定义了一个gradle插件,在里面用如下代码获取compileSdkVersionval plugin = project.plugins.getPlugin(AppPlugin::class.java) val sdkDirectory = plugin.baseExtension.sdkDirectory println("androidExtension compileSdkVersion:${plugin.baseExtension.compileSdkVersi原创 2020-10-22 17:25:07 · 692 阅读 · 0 评论 -
Android使用kotlin自定义plugin插件找不到类,Unable to load class
情况是这样,自定义gradle plugin,新建了一个module,并引入了groovy插件apply plugin: 'groovy'同时resources下也生声明了使用如下代码上传到本地仓库uploadArchives { repositories.mavenDeployer { repository(url: uri('../repo')) //仓库的路径,此处是项目根目录下的 repo 的文件夹 pom.groupId = 'com.myl.a原创 2020-06-20 09:59:40 · 2341 阅读 · 0 评论 -
使用TabLayout中tab字数不同,导致显示大小不一致的问题
最近使用TabLayout,我有两个Tab,一个tab是“消息”,一个是“通知栏”,两个字数不同,使用后发现字体竟然显示不一致大小,两个字的比三个字的字体大,最后发现是 app:tabMode="fixed"问题,改为app:tabMode="scrollable"既可以正常显示...原创 2019-09-29 14:37:04 · 2951 阅读 · 1 评论 -
git常用命令
1.更新远程分支列表 git remote update origin –prune原创 2018-08-01 16:46:25 · 982 阅读 · 0 评论 -
全面解析Notification
Notification在Android中使用的频率可以说是非常高的,本篇博客,我将围绕着Notification的各方面进行解析,使大家对Notification有更好的认识。Notification的使用步骤1.获取NotificationManager NotificationManager mNotificationManager = (NotificationManager) getSys原创 2016-12-11 19:13:52 · 36181 阅读 · 19 评论 -
那些年在WebView上踩过的坑
之前我在Android中使用WebView与JS交互全解析一文中,介绍了通过Webview和JS的交互方式,但Webview这个控件简直是让人又爱又恨,各种你想不到的错误在各种奇怪的手机上,各种不一样的版本里,所以我想通过这篇博客总结Webview开发中的不得不注意的一些坑。1.WebView的内存泄露问题 问题描述: webview内存泄露的情况还是很严重的,尤其是当你加载的页面比较庞大的时候原创 2016-11-29 23:12:44 · 18637 阅读 · 7 评论 -
Android进程保活全攻略(中)
在上一篇博客Android进程保活全攻略(上)中介绍了进程保活的背景和一些方法的思路和实现方式,本篇博客我将承接上篇博客,继续进行介绍。9) 1像素悬浮层 **思路:**1像素悬浮层是传说的QQ黑科技,监控手机锁屏解锁事件,在屏幕锁屏时启动1个像素的 Activity,在用户解锁时将 Activity 销毁掉。注意该 Activity 需设计成用户无感知。通过该方案,可以使进程的优先级在屏幕原创 2016-11-12 22:30:29 · 5850 阅读 · 4 评论 -
Android进程保活全攻略(上)
对于每个公司的APP来说,当然都希望自己APP的进程尽量的不被杀死,于是乎,就有了一些列进程保活的方法出现,网上也有很多关于这类的文章,但网上很多资料往往只告诉了思路,并未将实现代码展示,本次我的博客将分为上下两篇,阐述关于进程保活的所有方法,以及实现的方式,若有错漏之处,大家可以在博客进行留言。**1.进程保活-背景知识** (1)什么时候系统会去杀死进程? Android系统会在内存不足的时原创 2016-11-12 16:29:38 · 18889 阅读 · 3 评论