- 博客(39)
- 收藏
- 关注
原创 Android16修改全局桌面视图边框四直角显示为弧边圆角
本文分析了Android SystemUI中屏幕圆角的实现机制:通过在dimens.xml设置rounded_corner_radius(默认8dp最合适),系统会创建四个ImageView,使用rounded_corner_top/bottom.xml矢量图作为遮罩。这些SVG路径通过移动(M)、水平线(H)、垂直线(v)和贝塞尔曲线(C)命令绘制圆角形状,其中M16,0H0v16C0,8.8,7.2,0,16,0z表示从右上角开始绘制三角形并添加曲线形成圆角。修改发现默认8dp的pathData(M8起
2026-07-29 11:24:04
185
原创 Android16定制SearchLauncher新增投屏Cast桌面快捷图标完整实现
本文介绍了Android车载定制项目中新增投屏快捷图标的实现方案。该方案通过新增中转Activity和注册桌面入口的方式,在应用列表添加独立投屏图标,点击后可直达系统投屏设置,若系统裁剪投屏模块则自动降级跳转WiFi/蓝牙设置。 主要实现包括: 新增两个矢量图标资源(连接/未连接状态) 创建无UI的中转Activity处理跳转逻辑 修改Manifest注册桌面入口 支持多语言文本配置 方案特点: 轻量级(仅修改5个文件) 兼容原生AOSP和精简车载固件 无侵入原有桌面逻辑 支持异常降级处理 采用标准系统图标
2026-07-29 10:56:51
340
原创 Android10.0 禁止apk安装
连接usb调试adb logcat | grep START 点击应用获取到包名后,去到对应路径对想要屏蔽的apk做判断,如果系统识别到pkgname1里的包名后返回无法安装报错。
2026-03-06 09:38:48
77
原创 Android14 默认锁屏解锁方式为无(清新版)
本文介绍了一种更安全的Android14锁屏解锁方式修改方案,通过修改DatabaseHelper.java和LockSettingsService.java两个关键文件,将默认锁屏方式设置为"无"并保留滑动解锁功能。相比直接修改大量源码的方案,该方法维护性更好且风险更低,避免了潜在的系统问题,同时确保了滑动解锁功能的正常使用。
2026-03-06 09:11:38
86
原创 Android14 默认锁屏解锁方式为无(避坑版)
本文探讨了Android系统默认无锁屏的实现方案。传统通过修改config_disableLockscreenByDefault属性的方法会完全禁用非安全锁屏方式,导致滑动解锁功能失效。作者提出三层改进方案:1)在SettingsApplication中强制禁用锁屏;2)在生物识别流程中传递无密码参数;3)在安装向导流程中自动跳过锁屏设置。该方案覆盖所有场景,真正修改底层策略而非仅隐藏界面,具有更好的兼容性和稳定性。文章指出Google的安全策略建议配合使用hide_swipe属性来隐藏滑动解锁选项,但强调
2026-03-05 18:05:10
886
2
原创 查看签名信息
摘要:查看APK签名信息需解压APK并检查META-INF文件夹中的证书文件(.RSA/.DSA/.EC)和签名清单(MANIFEST.MF/CERT.SF)。通过命令行工具keytool可查看完整签名信息或特定指纹(MD5/SHA1/SHA256),命令格式为"keytool -printcert -file [证书文件路径]"。该方法可用于验证APK是否使用默认签名或客户自定义签名。
2026-03-05 14:16:46
121
原创 全球国家 / 地区 - 语言代码 - 时区完整对照表
一、亚洲(含全部 50 + 国家 / 地区)二、欧洲(含全部 50 + 国家 / 地区)三、非洲(含全部 50 + 国家 / 地区)四、美洲(含全部 50 + 国家 / 地区)五、大洋洲(含全部 20 + 国家 / 地区)
2026-02-25 17:28:02
1087
原创 Android 14 开机自启动第三方 APK 全流程踩坑与最终解决方案(含 RescueParty 避坑)
摘要:本文记录了在Android14.0设备定制中实现开机自启动第三方APK的完整过程。最初在Launcher中实现会导致修改系统设置时重复启动,后尝试多种方案均存在不同问题,最终在SystemUIService中采用延迟启动+重试机制解决。关键点包括:1)延迟5秒启动等待PMS扫描完成;2)最多5次重试机制;3)全面异常捕获防止SystemUI崩溃;4)避免因系统设置变更导致重复启动。该方案成功实现了稳定自启动,且不会触发系统恢复机制。
2026-02-25 17:06:30
1697
2
原创 解决低版本Android编译报错
解决编译时报错"Ensure Jack server is installed and started"的方法:首先修改Java安全配置,删除TLSv1和TLSv1.1协议;然后通过netstat和kill命令终止占用端口的进程;接着使用jack-diagnose工具诊断问题,修改Jack服务端口配置;最后重新安装Jack服务(停止服务→卸载→重新安装)。通过这一系列操作成功解决了端口占用导致的编译问题。
2025-12-25 16:06:49
406
原创 Android开发者选项关闭时重置USB配置默认为不进行数据传输
Android开发者选项中的USB配置选择具有记忆功能,关闭开发者模式后不会自动还原为"不进行数据传输"状态。若需强制还原,可在DevelopmentSettingsDashboardFragment.java的onSwitchChanged方法中添加代码,将USB功能设置为FUNCTION_NONE。对于修改了USB通知选项的设备(仅保留"仅充电"),开发者模式成为选择文件传输模式的唯一途径。该修改通过移除SprdUsbSettingsFragment.java中的
2025-12-25 15:52:26
625
原创 Android默认打开设备中所有的输入法
摘要:本文介绍了如何设置Android设备的默认输入法及启用多个输入法的方法。通过adb命令获取当前输入法配置后,需在SettingsProvider的defaults.xml中定义DEFAULT_INPUT_METHOD和ENABLED_INPUT_METHODS的默认值,并在DatabaseHelper.java的loadSecureSettings()方法中加载这些设置。修改内容包括获取资源字符串并检查非空后,将配置项写入Secure表,实现默认输入法和启用输入法列表的设置。
2025-12-25 15:32:09
475
原创 关闭自动更新时区后,仍会更新时区。默认时区不生效解决办法
摘要:本文分析了Android系统中时区自动更新的问题及解决方案。当关闭自动更新时区后仍会变化时,需检查系统支持的时区列表文件tzlookup.xml。针对Android 10和11版本,分别修改NewNitzStateMachine.java和TimeServiceHelperImpl.java文件,添加SIM卡状态检测逻辑:若SIM卡不存在或处于未知状态,则阻止自动更新时区。关键修改包括导入相关类库,并在相应方法中添加判断条件,确保在没有有效SIM卡时不自动更新时区设置。
2025-12-24 17:09:17
654
原创 解决Android16 OTG连接设备时通知栏弹出“正在通过USB为连接的设备充电提示”
本文分析了Android设备在OTG模式下误显示"正在通过USB为连接的设备充电"通知的问题。通过研究AOSP16框架中UsbDeviceManager.java的updateUsbNotification方法,发现该问题源于主机模式(mHostConnected)下的供电通知逻辑。修改方案是在处理mSourcePower的代码中添加!mHostConnected条件,确保仅在非OTG模式下显示供电通知。验证表明,该修改成功消除了OTG模式下的误导性充电提示,同时保留了其他USB连接场景
2025-12-24 14:35:56
1230
1
原创 计算相机的插值和适配分辨率尺寸
相机插值计算通过算法将低分辨率图像放大到更高像素。核心是计算缩放因子:√(目标像素数/原生像素数),并对齐16像素调整尺寸。例如8MP(3264×2448)插值到13MP,缩放因子1.275,最终得到4160×3120分辨率(约13MP)。5MP(2592×1944)插值8MP时,缩放因子1.26,输出3264×2448分辨率。该技术通过数学计算实现像素扩充,但实际图像质量取决于算法优劣。
2025-12-12 11:28:11
496
原创 展讯Android12.0 13.0平台定制签名key(+验证)流程
摘要:展讯AOSP源码中可通过development/tools/make_key脚本生成四种标准签名key(testkey、platform、shared、media)。生成时需注意参数格式,避免中文导致报错。若生成失败出现空文件,建议切换root用户重新生成并覆盖原路径。平台key默认存放于build/target/product/security,展讯安卓12.0/13.0版本路径有所不同。验证签名可通过解压APK查看META-INF/CERT.RSA文件,使用keytool命令比对签名信息是否一致。
2025-12-06 18:22:34
582
原创 MTK Android10.0 11.0平台使用系统签名第三方apk流程
本文介绍了Android系统APK签名的方法:首先在build/target/product/security路径下获取platform.pk8和platform.x509.pem文件,将待签名APK与signapk.jar工具放在同一目录下。使用命令"java -jar signapk.jar platform.x509.pem platform.pk8 xx.apk xxx.apk"进行签名。对于Android 10.0及以上版本,还需获取libconscrypt_openjdk_j
2025-12-06 18:22:06
237
原创 U盘格式化“显示Windows无法完成格式化”解决方案
摘要:本文介绍了两种解决Windows格式化失败的方法。方法1通过命令提示符操作:使用diskpart工具清除磁盘数据并重新格式化。方法2使用磁盘管理器进行格式化操作。作者指出第一种方法通常能解决问题,而第二种方法效果不稳定,有时甚至无法找到格式化选项。其他第三方分区工具在作者测试中无效,最终通过第一种方法成功解决了格式化问题。
2025-12-05 10:19:31
1830
原创 展讯android11.0去掉锁屏和设置里充电剩余时间
本文涉及Android系统UI和设置模块的电池相关实现,主要包括三个关键文件:1) Settings模块的电池头部布局文件(battery_header.xml);2) SystemUI的状态栏钥匙锁指示控制器(KeyguardIndicationController.java);3) 设置应用顶层电池偏好控制器(TopLevelBatteryPreferenceController.java)。这些文件共同构成了Android系统中电池状态显示和管理的核心组件,涉及用户界面布局、状态栏指示以及电池偏好设置
2025-12-05 09:58:13
239
原创 Android11.0 屏蔽进入系统的启动加载界面
本文介绍了如何通过修改Android系统Settings模块中的FallbackHome.java文件,来跳过系统启动时显示的"平板电脑正在启动"界面。主要修改包括:1) 确认当前加载页位于Settings模块;2) 定位到相关布局文件fallback_home_finishing_boot.xml;3) 在FallbackHome.java中移除mProgressTimeoutRunnable的执行代码;4) 删除相关回调方法和常量定义。通过这些修改,系统启动时将直接进入桌面,不再显示
2025-12-05 09:00:00
739
原创 Android11 修改桌面布局(带便捷工具)
本文介绍了修改Android 11系统桌面布局的方法,重点针对Launcher3模块中的Hotseat区域。操作步骤包括:定位5x5布局文件(default_workspace_5x5.xml)、使用SQLiteStudio查看当前布局、通过adb导出launcher.db数据库进行修改。文章详细说明了<favorite>标签的使用方法及坐标设置规则,并对比了原生AOSP11与各厂商(小米、华为、OPPO)的专属属性差异。特别提醒注意不同厂商对包名属性的命名差异可能导致修改失效,建议使用原生属性
2025-11-29 11:31:39
1036
原创 IT行业演进与AI大模型爆发全景
中国IT行业经历了从跟跑到领跑的跨越式发展,在AI大模型领域实现重大突破。从1990年代的民营企业发展,到2000年代科研院所主导,再到数字中国战略推动下,中国AI专利已占全球六成,生成式AI用户超5亿。国产大模型如DeepSeek、Kimi等性能媲美国际领先产品,展现出强大竞争力。政策引领、资本支持和开源生态共同推动产业升级,智能体技术成为新焦点。未来AI治理和复合型AI将进一步提升应用价值,中国AI产业正从技术追随者转变为创新引领者。
2025-11-19 17:51:42
1376
原创 Android11 开发者模式添加文件管理项跳转
本文介绍了在Android平台SPR11开发者模式中添加文件管理入口的实现方法。主要步骤包括:1) 隐藏原生启动器中的文件管理入口;2) 在系统设置中添加相关字符串资源;3) 在开发者模式布局文件中添加preference项;4) 创建FilemanagerPreferenceController类实现跳转逻辑。该控制器通过处理点击事件启动com.android.documentsui/files.FilesActivity组件,并加入点击频率限制功能。实现后,文件管理功能仅在开发者模式下可用确保系统安全性
2025-11-18 11:40:51
684
原创 Android11 修改默认蓝牙名称
该摘要简要说明了Android蓝牙配置中PRODUCT_MODEL参数的修改方法。指出该参数在多个层级被覆盖,建议直接修改底层路径:Android11\system\bt\btif\src\btif_dm.cc文件,若无此文件可在packages/modules/Bluetooth、device平台目录或vendor目录下查找。强调这种直接修改路径的方法能避免上层修改而底层未同步的问题。
2025-11-18 11:23:09
441
原创 修改android手机电池容量显示信息
本文介绍了在Android 11.0系统中修改电池容量的方法,主要涉及三个核心路径:PowerProfile.java文件、power_profile.xml文件以及平台特定的overlay文件。作者指出不同平台(MTK、展讯、RK)可能需要修改不同位置,建议逐一验证。文中分享了RK平台修改位置3成功的经验,并提示若底层驱动定义电池容量还需底层修改。该方法虽然针对Android 11.0,但核心逻辑适用于更高版本
2025-11-17 09:57:50
831
原创 android 11 去掉Wifi 网络详情 分享密码控件显示
摘要:通过分析Android11设置应用中Wifi分享功能的相关代码,发现需要修改三个关键类文件(WifiTetherSsidPreference.java和两个WifiDetailPreferenceController)才能完全隐藏分享按钮。修改方法包括设置View.GONE和强制刷新时不可见,最终通过单编Settings模块验证成功隐藏了分享功能。
2025-11-13 17:35:39
546
原创 解决Android Studio 模拟机The emulator process for AVD xxx has terminated(AVD xxx的仿真器进程已终止)问题
【摘要】本文针对Android Studio安装后模拟器启动报错"The emulator process for AVD has terminated"问题提供解决方案。主要原因是虚拟机默认路径在C盘,建议修改为D盘并配置环境变量ANDROID_AVD_HOME。安装时需勾选相关SDK工具,创建模拟器时避免名称含空格,使用下划线连接。启动时推荐通过命令行执行emulator.exe,而非直接点击Start按钮。文中提供了详细的操作步骤和注意事项,包括路径修改、环境变量设置和命令行启动方
2025-11-12 17:49:30
1299
原创 android13.0 保持平板模式isTablat下修改成手机模式isPhone布局显示
因为在平板模式下调出了NavigationBar导航栏,平板模式的桌面下Hotseat任务栏里的图标依旧在那个位置,就与NavigationBar重叠了。所以得让Hotseat任务栏在平板模式下处于手机模式布局,直接修改判断packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java。:这样整一下,就能在平板模式下达到手机模式的布局且保留了分屏功能,但不是在所有dpi下都可以,此修改只是让平板模式和手机模式一样的显示。
2023-10-27 17:48:30
2011
原创 android11.0去掉锁屏和设置里充电剩余时间
此功能效果是在设置里添加一个授权功能项,控制apk安装时要输入密码后才允许安装,授权密码布局包含密码开关和修改密码功能
2022-08-08 16:53:05
1112
1
原创 关闭自动更新时区后,仍会更新时区。默认时区不生效解决办法
通常关闭自动更新时区后设置默认的时区,联网时区是不会变化的frameworks/base/packages/SettingsProvider/res/values/defaults.xml将自动更新时区开关def_auto_time_zone的值设置为false即可但是现在遇到关闭后时区还是会自动更新,首先我们得排除系统支持的默认时区列表tzlookup.xml文件中文件路径:system/timezone/output_data/android/tzlookup.xml如果是tzlookup.xml中没有
2022-06-25 16:01:13
1922
原创 展讯Android 11.0 SystemUI 截图功能去掉分享按钮(屏蔽分享功能)
根据客户需求反馈截图后图片悬浮时有分享和编辑两个按钮,要求去掉分享保留编辑通过获取到按钮的id找到方法我用的是第一种获取方法很多自己可以找1.adb shell uiautomator dump --compressed /data/local/tmp/uidump.xml 获取当前页面所有布局到设备data路径下adb pull "/data/local/tmp/uidump.xml" pull出来查看2.android sdk 里的uiautomatorviewer图形化界面布局全局搜索screensh
2022-06-08 17:57:44
811
原创 ubuntu无法进入图形界面,开机重复进入gun grup
可以进入ubuntu高级选项选择自己ubuntu版本对应的内核版本点击进入根据终端提示查看自己处于什么模式,一直处于紧急模式且按照提示无法切换默认systemctl default 模式的话可能是对etc/fstab文件进行过修改导致的,将修改部分删除 reboot即可!如果并为对fstab进行修改,Esc进入grup命令行在救援模式下只有很少的命令可以用:set , ls , insmod , root , prefix (1)set 查看环境变量,这里可以查看启动路
2022-05-30 10:05:38
3225
3
原创 android 10.0 禁止安装apk
连接usb调试adb logcat | grep START 点击应用获取到包名后,去到对应路径对想要屏蔽的apk做判断,如果系统识别到pkgname1里的包名后返回无法安装报错frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java else{// new package install ps = null;...
2022-04-13 18:11:29
3870
原创 android 7.0 默认休眠5分钟,充电时永不息屏
有两种方法可以实现,安卓7.0版本系统自带,开发者选项里有一项不锁定屏幕充电时不休眠项第一种方法默认打开就可以frameworks/base/packages/SettingsProvider/res/values/default.xml下改成trueframeworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java这里直接判断为1打开此功能但此版本开发者
2022-04-11 16:46:39
5596
1
转载 Android监听点击事件实现的三种方法
Android监听点击事件实现的三种方法监听点击事件实现的三种方法:1、匿名内部类2、外部类3、直接实现接口1.匿名内部类: package com.jereh.calculator;import android.content.Context;import android.os.Bundle;import android.os.PersistableBundle;import android.support.design.widget.FloatingActionButton;
2022-04-01 10:30:46
4481
原创 编译android 7.0 framework时报错解决
编译spr9850_n0_dev时报错Ensure Jack server is installed and startedFailed to contact Jack server: Problem reading /home/pengjiajun/.jack-server/server.pem. Try 'jack-diagnose'修改办法:参考https://www.cnblogs.com/goolinli/p/14793289.html/usr/lib/jvm/java-8-op
2022-03-29 20:26:22
3722
原创 开发者选项关闭时重置USB配置默认为不进行数据传输
大多数android 版本,打开开发者选项后 usb默认配置为不进行数据传输,当选择为文件传输模式后,关闭开发者,usb会记住上一次选中的项,并不会因关闭开发者模式还原回不进行数据传输。不会还原是正常现象,大多数android平台为了方便用户选择会记住选择的项,方便下一次连接,不用再打开开发者模式选择文件传输。当然我们的手机或平板插usb就可以选择文件传输,不用打开开发者选项,但这里我们有一个前提是下拉菜单下的usb通知里的选项只保留了仅充电,所以就只能通过开发者选项选择。去掉通知.
2022-03-28 17:10:22
7459
原创 默认打开设备中所有的输入法
现在要默认其中一个输入法 另外两个也要打开先在设备上打开所有输入法1.记录设置数据库Secure表中DEFAULT_INPUT_METHOD和ENABLED_INPUT_METHODS两个配置项对应的内容。可以通过如下命令进行获取:adbshellsettingsgetsecuredefault_input_method//获取DEFAULT_INPUT_METHODadbshellsettingsgetsecureenabled_input_methods//获取ENAB...
2022-03-22 10:34:54
5095
原创 屏蔽插入SD卡后弹出的通知
大多数平台例8.0 9.0 10.0 11.0插入SD card 后都会弹出通知,我们先获取到问题打log修改文件位置frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java去到对应位置后在 void enqueueNotificationInternal下添加log日志日志添加好后,本地编译mmm frameworks/base/services:se
2022-03-21 14:50:42
2415
原创 开发者模式里添加文件管理项跳转
开发者模式里添加文件管理项 点击跳转到文件管理且只能这一个入口能进到文件管理首先原生launcher下要隐藏文件管理去到packages/apps/Launcher3/src/com/android/launcher3/AppFile.java修改然后分别在packages/apps/Settings/res/values/Strings.xmlpackages/apps/Settings/res/values-zh-rCN/Strings.xml下添加String msgid值任意赋值再去
2022-03-11 15:43:59
3111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅