Android Dex加载流程
Android 系统加载Dex 分两步:
首先是开发者通过Jave Api 调用加载Dex的方法;
然后是jvm调用Native的方法进行加载Dex文件
JAVA中加载一个DEX
DexClassLoader classLoader = new DexClassLoader(dexPath, OutputDir.getAbsolutePath(),null,getClassLoader()) |
Android 系统加载Dex 分两步:
首先是开发者通过Jave Api 调用加载Dex的方法;
然后是jvm调用Native的方法进行加载Dex文件
DexClassLoader classLoader = new DexClassLoader(dexPath, OutputDir.getAbsolutePath(),null,getClassLoader()) |
1、在七牛的密钥管理中,可以获取到ak和sk
优化电池续航时间 | Android 开发者 | Android Developers
PowerManager 用来控制设备的电源状态. 而 PowerManager.WakeLock 也称作唤醒锁, 是一种保持 CPU 运转防止设备休眠的方式.
WakeLock是什么
WakeLock是Android框架层提供的一套机制,应用使用该机制可以达到控制Android设备状态的目的。这里的设备状态主要指屏幕的打开关闭,cpu的保持运行。简单的理解WakeLock是让系统保持”清醒”的一种手段.
WakeLock作用
当手机灭屏状态下保持一段时间后,系统会进入休眠,一些后台运行的任务就可能得不到正常执行,比如网络下载中断,后台播放音乐暂停等。WakeLock正是为了解决这类问题,应用只要申请了WakeLock,那么在释放WakeLock之前,系统不会进入休眠,即使在灭屏的状态下,应用要执行的任务依旧不会被系统打断。
WakeLock有那些分类
WakeLock是PowerManager的内部类,其代码路径位于:
frameworks/base/core/java/android/os/PowerManager.java |
WakeLock 分类如下:
如果是PARTIAL_WAKE_LOCK, 无论屏幕的状态甚至是用户按了电源钮, CPU 都会继续工作. 如果是其它的唤醒锁, 设备会在用户按下电源钮后停止工作进入休眠状态.
系列文章:
路由器搭建私人NAS(二) – 下载器安装 - 水沝淼 (laoyuyu.me)
路由器搭建私人NAS(三) – 文件管理 - 水沝淼 (laoyuyu.me)
路由器搭建私人NAS(四) – 串流 - 水沝淼 (laoyuyu.me)
路由器搭建私人NAS(五) – 客户端软件 - 水沝淼 (laoyuyu.me)
最近迷上了NAS,但是看到群晖那个价格直接欠退了,然后花巨资买了个华硕路由器RT-AX86U,打算以此搭建一个私人的NAS。
Execution failed for task ':UIWidget:androidJavadocs'. |
和
javadoc: ?? - ???????: /Users/aria/dev/android/sdk/docs/reference/element-list |
我的开源软件KeepassA在全球范围内使用的人越来越多,基础的英语翻译已经满足不了用户的使用需求,而github的PR对普通用户来说并不是一个简单的操作,因此急需一款简单易用的翻译协作平台,找了不少的平台,发现weblate可以完美满足我的需求,它有下面几个优点:
1、操作简单
2、支持图文对照
3、能自动创建PR到Github项目中
4、对开源社区友好,为开源项目提供了免费服务
最近在给我的开源库Aria升级版本时,发现Bintray已经无法上传库了,网上查了下,发现Jcenter要停止服务了,从2021年5月1号还要删除所有开发者上传的包,因此就需要将库移到其它的托管中心,谷歌建议开发者们将库托管到mavenCentral
Android oneDrive 集成(三)– 使用Postman测试Graph API
微软的MSAL平台有多种租户模式,本篇文章将介绍单租户的接入方式。
AzureADMyOrg:仅限应用注册的组织目录中的帐户(单租户) |
注意⚠️:本篇文章仅适用于单租户,因为MSAL对不同的租户有不同的接入方式。
Android oneDrive 集成(二)– 单租户账号集成
Android oneDrive 集成(三)– 使用Postman测试Graph API
最近我的个人应用KeepassA在酷安上收到了很多私信,问我能不能集成下OneDrive
,作为唯一的没有被墙的,大型的跨平台云盘服务,集成OneDrive
貌似很有必要。因此研究了好几天的微软文档,遇到了很多坑,总算是搞明白了该怎么集成。
这里不得不吐槽下,微软的东西总是大而全,对新接开发者很不友好,平台那出现问题,错误信息非常不明确。
用了快一年的kotlin了,一直对协程中的各种Dispatchers
没有一个详细的了解。
本篇文章将讲解下面5种Dispatchers
异常日志:canceled due to ....
场景:
当api请求异常时,如:404,500,然后自己手动抛异常
原因:
ReallyCall L530
如果你主动抛的异常不是IOException
,就会自动给你carsh
解决:
自己主动抛的异常的父类修改为IOException
在做逆向的过程中,往往会遇到一些很复杂的逻辑,这时,硬肝反编译后的代码往往不是一个明智的选择,这时候就需要无源码debug,也就是Smali Debug。因此Smali Debug基本上一个必备的核心技能。
最近在我的应用KeepassA中碰到了一个诡异的过渡动画问题
API版本:29
正常状态应该如下:
当我从一级设置界面,进入二级设置界面后,并从二级设置界面返回时,一级界面当回主页的过渡动画消失了!!