- 博客(50)
- 资源 (1)
- 收藏
- 关注
原创 浅谈Binder的个人理解
直达专线(mmap)确保包裹(数据)快速直达实名认证(UID/PID)和密封包裹(内核隔离)保障安全客服中心(Service Manager)帮你找到正确的收件地址(服务引用)
2025-03-28 17:17:47
284
原创 Android Framework从零上手(一)下载编译AOSP源码
AOSP,全称"Android Open Source Project",中文意为"Android 开放源代码项目"。发起者是谷歌,主要用途是移动设备的系统。
2024-10-18 11:00:14
932
原创 移植ROM相关思路
原包是指刷入product,system和system_ext分区,gsi是指刷入单独的gsi system包无论是原包,还是gsi,sgsi,本质上都是把别的system刷入你本机的system分区。
2024-09-29 09:30:17
573
原创 刷机移植杂谈
2.DNA工具箱 - 新建工程-在工程目录拖入DNA-001目录下 - 分解img - 修改后 - 合成img,合成的img在DNA002目录下。替换能开机的原包下的selinux。用多系统工具箱宽容后提取分区。
2024-09-29 09:22:37
469
1
原创 Fastboot指令大全
Fastboot指令大全刷入指令基础指令解锁指令高级指令启动相关指令Andrid相关指令操作指令刷入指令指令说明update ZIP刷入update.zip包中的所有分区。flashall刷入$ANDROID_PRODUCT_OUT中的所有分区。在A/B设备上,闪存插槽自由设置。次映像可能会闪烁到非活动插槽。flash PARTITION [FILENAME]刷入指定分区的镜像基础指令指令说明update ZIP刷入update.zi
2023-12-29 14:31:30
5424
1
原创 JetPack组件LiveData
虽然可以使用 LiveData 转换和 MediatorLiveData 来实现此目的,但此方法的缺点在于:用于组合数据流的功能非常有限,并且所有 LiveData 对象(包括通过转换创建的对象)都会在主线程中观察到。创建可定义 onChanged() 方法的 Observer 对象,该方法可以控制当 LiveData 对象存储的数据更改时会发生什么。当更新存储在 LiveData 对象中的值时,它会触发所有已注册的观察者(只要附加的 LifecycleOwner 处于活跃状态)。...
2022-08-30 14:01:04
332
1
原创 使用Android Profiler 查看应用的内存使用情况(一)
内存分析器是 Android Profiler 中的一个组件,可帮助您识别可能会导致应用卡顿、冻结甚至崩溃的内存泄漏和内存抖动。它显示一个应用内存使用量的实时图表,让您可以捕获堆转储、强制执行垃圾回收以及跟踪内存分配。......
2022-08-30 09:40:30
4298
原创 Android JetPack简介
Jetpack是一个丰富的组件库,它的组件库按类别分为4类,分别是架构(Architecture)、界面(UI)、行为(behavior)、基础(foundation)。每个组件都可以单独使用,也可以配合在一起使-用。每个组件都给用户提供了一个标准,能够帮助开发者遵循最佳做法,减少样板代码并编写可在各种Android版本和设备中一致运行的代码,让开发者能够集中精力编写重要的业务代码。............
2022-07-24 09:17:57
2562
1
原创 Android Studio执行在vivo手机上出现“应用程序安装异常(-15)”
Android Studio在vivo手机执行程序时出现“应用程序安装异常(-15)”出误。修改gradle.propeities修改后也无法解决时在buildTypes下的指定版本下加入
2022-06-27 15:14:45
2774
原创 Could not get unknown property ‘*‘ for SigningConfig container of type org.gradle.api.internal
Could not get unknown property ‘*‘ for SigningConfig container of type org.gradle.api.internal
2022-06-25 18:13:28
2351
4
原创 Android使用Build Variant 创建不同版本参数
每个版本下的参数进行配置buildConfigFieldSync后BuildConfig会出现这个参数的信息打包时可直接选择要编译的版本
2022-06-25 18:05:44
810
原创 Json同一个参数不同类型解析几种解决办法
当遇到如下Json同一个参数不同类型解析正常时{ "user": { "id": 11, "name": "label" }}无数据时{"user": ""}解决办法1. 与后端协商,规范数据格式,保证返回字段类型不变当你有足够的话语权说服对方修改,建议打一顿后端,让他知耻后勇2. 完全手动解析 try { JSONObject jsonObject = new JSONObject(json);
2022-05-26 20:30:24
1238
原创 ADB 点击、划屏、按键、输入文字事件
模拟事件全部是通过input命令来实现的点击屏幕adb shell input tap 50 250在屏幕上点击坐标点x=50 y=250的位置滑动屏幕adb shell input swipe 50 250 250 250 500//在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)可以用swipe指令实现长按adb shell input swipe 100 100 100 100 1000在 100 100 位置长按 1000毫秒输入adb shell in
2022-05-11 11:00:22
4569
原创 adb屏幕相关命令
截屏adb shell screencap -p /sdcard/test.jpg录屏adb shell screenrecord --time-limit 10 --size 1920*1200 /sdcard/demo.mp4–time-limit:录屏时长,默认180s–size:视频分辨率设置自动亮度adb shell settings put system screen_brightness_mode 11:开启自动亮度0:关闭自动亮度查询自动亮度状态adb shel
2022-05-11 10:07:30
1016
原创 Flyme9 应用精简
全球流量 com.flyme.roamingpay旅行助手com.android.cts.priv.ctsshim应用沙盒com.meizu.pps 不建议删除计步器 com.meizu.net.pedometer电话和短信存储 com.android.providers.telephony 不建议删除日历存储com.android.providers.calendar 不建议删除媒体存储设备 com.android.providers.media 不建议删除mbn测试 com.qualcom
2022-04-27 11:59:02
6739
原创 More than one file was found with OS independent path ‘META-INF/rxjava.properties‘
添加Rxjava,编译时报错解决办法在build.gradle中android里添加 packagingOptions { exclude 'META-INF/rxjava.properties' }
2022-04-20 18:07:19
1814
原创 Window10 清除应用和功能中的已卸载软件
Win+R打开运行,输入regedit按Enter进入注册表在注册表中定位到HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall在该子文件夹中通过右侧信息进行确认,删除已卸载软件的失效注册表项若上述中路径下没有相关注册表项,就在注册表中ctrl+f搜索已卸载软件的关键字最终定位到母文件夹与上述中有所不同的子文件夹xxxxxxxxxx\SOFTWARE\WOW6432Node\Microso
2022-04-18 09:39:26
4840
原创 Android程序拨打带#号电话失败的处理方法
Android程序拨打带*#电话指令失败的处理方法原因程序播出的号码中带有#号的,一直都不能成功。发现拨出去的井号变成乱码解决办法String uri = "tel://" + tenNum;uri = uri.replaceAll("#", "%23");//把#号替换成ASCII码Android 三种拨号方式...
2022-04-11 16:29:13
2410
原创 Android 三种拨号方式
Android 三种拨号方式跳转拨号页面拨打电话 Uri uri=Uri.parse("tel:"+ number); Intent intent =new Intent(Intent.ACTION_DIAL,uri); startActivity(intent);直接拨打电话 Uri uri=Uri.parse("tel:"+ number); Intent intent=new Intent(Intent.ACTION_CALL,uri); star
2022-04-11 16:19:10
4296
原创 Android多国语言value语言文件夹命名
在res目录下建立不同名称的values文件String.xml中文(中国):values-zh-rCN中文(台湾):values-zh-rTW中文(香港):values-zh-rHK英语(美国):values-en-rUS英语(英国):values-en-rGB英文(澳大利亚):values-en-rAU英文(加拿大):values-en-rCA英文(爱尔兰):values-en-rIE英文(印度):values-en-rIN英文(新西兰):values-en-rNZ英文(新加坡):
2022-03-31 19:30:07
2387
原创 解决Flyme9 锁屏后一直亮屏后无法锁屏BUG
ADB启动状态栏调节adb shell am start -n com.android.systemui/.DemoMode选择Ambient Display取消Always On
2022-03-09 09:59:32
663
1
原创 错误: 找不到符号 符号: 变量 CLIP_SAVE_FLAG 位置: 类 Canvas
错误当API是28时调用canvas.save(Canvas.CLIP_SAVE_FLAG);错误: 找不到符号 符号: 变量 CLIP_SAVE_FLAG 位置: 类 Canvas解决办法直接调用canvas.save();原因Google在android P中删除了canvas.save(int);Google 文档
2022-03-05 13:58:42
2686
原创 Android关闭屏幕时不锁屏
Android关闭屏幕时不锁屏权限<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>关闭系统锁屏服务:KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);KeyguardManager.KeyguardLock lock = keyguardManager.ne
2022-03-03 14:12:25
2191
原创 adb常用指令
查看当前的Activityadb shell dumpsys activity activitiesapp启动时间adb shell am start -W packagename/activityname查看当前设备全部包名adb shell pm list packages查看当前设备全部包名adb shell pm uninstall -k --user 0 packagename文件复制到本地计算机adb pull 设备目录 本地目录计算机文件复制到设备中adb pu
2022-02-24 13:40:58
888
原创 Android Studio删除缓存的依赖库
Android Studio删除缓存的依赖库有些时候由于依赖代码更改,但却未发布版本,依然沿用了之前的版本号。但此时已经修改了源码,在compile的时候,Android Studio首先是在本地gradle中查找是否有对应的依赖库,如果有,直接使用本地的,就不会下载远程仓库的。这时候就有上面所说的问题了,无法更新到最新的依赖库,就需要删除本地的,让Android Studio下载最新的远程依赖,达到最新版本依赖。1.关闭Android Studio,进入本地缓存依赖库所在的目录目录地址: C:\
2022-02-21 10:37:58
2446
1
原创 Win10_21H1_19043.899_X64_无任务栏搜索_无更新[纯净精简版][2.09G](2021.3.16)
Window10纯净专业版无预装百度网盘下载地址提取码:ayvx推荐微PE无预装官网下载
2022-02-16 15:53:03
636
原创 文件批量重命名
文件批量重命名一、批量获取文件名1. 进入文件夹,将光标放置在空白处,按住 shift 键不放,同时鼠标右键,在弹出菜的单窗口中点击 在此处打开Powershell窗口。2. 执行命令 cmd /r dir/b>names.xls ,获取当前文件夹下所有的文件名,保存到names.xls文件中提取数字 教程点我# 位数补全 教程点我命名补全批量处理指令输入公式 =“ren “&””""&A1&""""&" “&”"""&D1&am
2022-02-16 15:42:57
3438
1
原创 在Excel中给不足位数的数字前面补0
如何在Excel中给不足位数的数字前面补0使用Text函数=TEXT(A2,“00”) 它的作用就是将A2单元格的数字,变成两位的文本型数字字符如果你想把A2中的数字变成3位数,那就输入:=TEXT(A2,“000”)文本类型转换这些数字现在是文本型的,不具有运算功能。将B列全部选中,然后复制,在C1单元格,单击右键,选“选择性粘贴”...
2022-02-16 14:42:38
9091
原创 Excel单元格提取数字
Excel单元格提取数字如何在Excel混合文本中提取纯数字第一种 Ctrl + E 智能填充先在第一个单元格中输入相应的数字,之后选中区域,按Ctrl+E即可快速填充。第二种 SEARCH函数法在单元格中输入公式=MIDB(A2,SEARCHB("?",A2),2*LEN(A2)-LENB(A2)),之后向下填充。公式说明SEARCHB("?",A2):表示在A2单元格中查找第一个数字的位置2*LEN(A2)-LENB(A2):表示提取字符串中数字的个数函数说明SEARCHB函
2022-02-16 14:29:07
7294
原创 Window 实现外网远程桌面连接(上)
Window 实现外网远程桌面连接 (上)实现内网远程桌面连接1.被控端Window设置测试连接实现内网远程桌面连接1.被控端Window设置右击此电脑 -> 属性 -> 远程桌面启动远程桌面选择可远程用户(默认管理员账户可以进行连接)然后Win + R 打开CMD,输入ipconfig查看本地的ip地址并记录下来测试连接Android 从 Google Play 下载 Microsoft 远程桌面客户端。 这里提供一个汉化版本提取码:nkrliOS App Store 或
2022-02-16 11:08:16
2790
NCalendar 5.0.1 Suport 版本
2020-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人