![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
大秦樗里疾
樗里疾,能打仗能外交。小码农,能写代码能写文章。
展开
-
AndroidStudio 删除未使用的资源精简apk体积
历史项目开发下来,会有很多未使用的类、布局xml 、资源文件等。未使用的图片资源,会增大apk体积。为了精简应用,需要去掉。原创 2024-07-15 18:15:41 · 119 阅读 · 0 评论 -
AndoridStudio 使用 Inspect code 检查优化代码
日常开发时,AS 会有报黄提示,如果不修改,日积月累下来,应用性能就有问题了。按需选择 整个工程 还是 某个Module ,点击 Analyze。选择 Code – Inspect Code ,点开后可以看到具体是哪个类、哪个方法写的不规范。针对这种情况,可以使用 AS 自带的。古老的项目,待优化的地方还真多。功能来批量检查、优化代码。原创 2024-07-13 16:09:22 · 143 阅读 · 0 评论 -
Android 自动更新时间的数字时钟 TextClock
如果不设置 android:format12Hour 、android:format24Hour ,默认以 12:48 格式显示。继承 TextView ,使用方法和 TextView 一样。只要在布局文件里添加,它会自动更新时间,不需要添加刷新逻辑。它专门用于显示数字时钟,可以自定义显示格式。如果设置了 format ,参考表格。原创 2024-07-11 20:53:30 · 266 阅读 · 0 评论 -
Android 使用 Debug.startMethodTracing 分析方法耗时
参考官网提供了 trace 工具来分析方法耗时。原创 2024-07-11 20:34:35 · 456 阅读 · 0 评论 -
Android 13 替换默认壁纸
Android 13 替换默认壁纸 ,原创 2024-06-25 10:58:37 · 411 阅读 · 0 评论 -
Android 13 为应用创建快捷方式
参考原生系统上,长按应用图标显示快捷方式,点击快捷方式就打开应用的某个页面。给自己的应用也加一下。原创 2024-06-24 18:19:34 · 759 阅读 · 0 评论 -
【GMS】让谷歌开机向导支持旋转
做谷歌认证方案,谷歌开机向导默认不跟着系统旋转,即使打开了自动旋转选项。属性改为 false ,谷歌开机向导 就会跟随系统旋转了。原创 2024-06-24 10:59:41 · 117 阅读 · 0 评论 -
Android 13 原生设置action汇总
原生设置 提供了很多 action ,供外部应用调用。原创 2024-06-24 10:47:40 · 894 阅读 · 0 评论 -
Android 13 修改系统导航默认值
Android 13 原生系统上,设置-系统-手势-系统导航 菜单,可以修改系统导航方式。adb 获取当前导航方式,手势导航 是 2 ,三按钮导航是 0。原创 2024-06-24 09:18:49 · 406 阅读 · 0 评论 -
Android 添加自己的时钟小部件
AppWidgetProvider 本质是 receiver。原创 2024-06-22 18:13:02 · 1163 阅读 · 0 评论 -
Android 使用cmd wifi命令操作wifi
cmd wifi命令完整的说明说下。原创 2024-06-19 16:32:05 · 587 阅读 · 0 评论 -
Android 编译 C 文件报错 fatal error: ‘jni.h‘ file not found
libnativehelper 是 jni.h 所属的 module。场景:添加 cpp 文件编译出 so ,给 app 使用。缺少声明,类似于 Java 里缺少了 import。Android.mk 添加如下。原创 2024-05-28 19:27:47 · 367 阅读 · 0 评论 -
Android 屏保开关
设置-显示-屏保,原创 2024-05-23 18:59:29 · 643 阅读 · 0 评论 -
Andorid 默认打开 自动旋转屏幕
有些方案会在产品目录下通过 overlay 修改这个默认值。如图,要默认打开 自动旋转屏幕 选项,,设为 true ,原创 2024-05-23 18:30:55 · 220 阅读 · 0 评论 -
Android.bp 引入jar包、aar
Android.bp 引入jar包、aar 的方法。原创 2024-05-07 20:57:30 · 210 阅读 · 0 评论 -
Android Selinux 解决 unrecognized character‘ at token 报错
用编辑器也可以修改文件格式,如 Notepad++ 【编辑】【文档格式转换】【转为Unix(LF)】修改 system_suspend.te 文件后,编译提示。执行 dos2unix 命令,语法没写错,估计是格式的问题。原创 2024-04-20 16:38:23 · 348 阅读 · 0 评论 -
Andorid dumpsys battery获取电池信息
未充电充电中。原创 2024-04-18 16:12:33 · 327 阅读 · 0 评论 -
Andorid OTA A/B升级
参考升级后的显著变化是 ro.build.date.utc 、和 版本号 发生变化。原创 2024-04-12 17:11:02 · 405 阅读 · 0 评论 -
Android SystemUI关机和重启的UI
方法,会根据不同的回调参数来显示不同的 UI ,全黑底色上显示白色的文字(关机/重启原因)。基于Android 13 ,关机、重启都会回调到。原创 2024-03-30 16:10:28 · 606 阅读 · 0 评论 -
Android adb ime 调试输入法
安装多个输入法后,可以在设置里进行切换。既然是开发,能用命令就就命令~ime。原创 2024-03-30 15:32:03 · 860 阅读 · 0 评论 -
Android Selinux权限之genfscon
genfscon标签相关说明参考我的理解,genfscon 用于给设备节点打标签。说人话:它可以改变设备类型,如把某一个节点从 u:object_r:sysfs:s0 改为 u:object_r:sysfs_dev:s0。举个例子。在读写设备节点时,碰到了 Selinux 权限问题,根据 log 添加了,编译后触发了neverallow报错。不过CTS认证的话,可以根据编译报错直接修改 system/sepolicy/ 目录的文件。因为要过CTS认证,。所以另寻他法,就用到了genfscon。原创 2024-03-18 19:29:34 · 852 阅读 · 1 评论 -
Andorid 13 修改默认音量区间、默认音量值
Andorid 13 默认音量区间是 [0,15] ,默认音量 5。需求是:音量区间为 [0,100] ,默认音量 30。意思是音量区间为 [0,100] ,默认音量 30。找到对应产品的 device.mk ,添加如下。这两个属性可以追溯到。原创 2024-03-03 19:30:16 · 844 阅读 · 0 评论 -
Android.bp 使用 cflags 规避 unused parameter 报错
Android.bp 编译 c 文件时出现如下错误,解决办法,Android.bp 里添加。意思是这个参数没有用到。原创 2024-03-03 19:08:46 · 546 阅读 · 0 评论 -
Android 使用 validatekeymaps 验证按键映射文件
可以很方便的验证 Generic.kl 、Vendor_0079_Product_0011.kl 、Generic.kcm 等输入设备配置文件、按键布局文件、按键字符映射文件和虚拟按键定义文件的语法。使用 validatekeymaps 工具,报错也明显,重复定义了 key 1。特地改成错误的,再执行。原创 2024-01-29 09:52:35 · 398 阅读 · 0 评论 -
Android Settings 按住电源按钮
如题,Android 原生 Settings 里有个 按住电源按钮 的选项,可以设置按住电源按钮的操作。原创 2024-01-25 17:08:17 · 693 阅读 · 0 评论 -
Android Settings 显示电池电量百分比
如题,Android 原生 Settings 里有个。的选项,打开后电池电量百分比会显示在状态栏。原创 2024-01-25 15:16:05 · 879 阅读 · 0 评论 -
Android 10 实现随机分配 MAC 地址
改为 true 即可。原创 2023-12-25 09:44:05 · 748 阅读 · 0 评论 -
Android 设备投屏神器 QtScrcpy
可以通过 USB / 网络连接Android设备,并进行显示和控制。无需root权限。同时支持 GNU/Linux ,Windows 和 MacOS 三大主流桌面平台。它专注于:精致 (仅显示设备屏幕)性能 (30~60fps)质量 (1920×1080以上)低延迟 (35~70ms)快速启动 (1s 内就可以看到第一帧图像)非侵入性 (不在设备上安装任何软件)Gitee QtScrcpy 链接Gitee QtScrcpy 下载链接。原创 2023-12-23 17:30:05 · 727 阅读 · 0 评论 -
Source Insight 4.0 导入Android源码
需要增删文件时选择 Project >> Add and Remove Project Files。找到需要添加的源码目录(建议不要一次性添加大目录,文件太多电脑会卡的),点击 Add Tree。回到主页面,File >> Open 或者 Ctrl + O ,即可搜索文件,选择 Android 源码所在目录,然后点右上角的 OK ,找到对应的目录, Add 或者 Remove 即可。至此,添加完成,点击 Close。如果文件很多,会出现一个进度条,出现提示,点击 确定 ,耐心等待,结果如下,原创 2023-12-23 16:41:12 · 655 阅读 · 0 评论 -
Win10 使用 Nmap 扫描 Andorid 设备开放端口
Nmap 是 网络探测工具和安全/端口扫描器。官网链接官网下载地址。原创 2023-12-23 15:19:29 · 1954 阅读 · 1 评论 -
Android.bp 和 Android.mk 的对应关系
参考。原创 2023-12-22 14:38:39 · 1145 阅读 · 0 评论 -
Andorid 使用bp或者mk编译C文件生成so
文件夹列表Android.mk 内容如下最终生成 ./out/target/product//system/system_ext/lib64/lib_cmkdemo.so如果去掉 LOCAL_MULTILIB := 64 ,会生成。原创 2023-12-22 12:03:33 · 1155 阅读 · 0 评论 -
Android Selinux权限之MLS
Selinux MLS 相关的在 国内Andoriod 官网未找到,只有博客的说明。源码在截取部分,原创 2023-12-20 18:46:58 · 894 阅读 · 0 评论 -
Android 使用aapt工具获取apk信息
aapt 工具的官网说明功能有很多,本篇记录怎么使用aapt工具获取apk信息。在 Aosp 源码下,执行 source 、lunch 后,直接输入aapt就可以使用了。不执行 source 、lunch ,也可以使用,要带上完整路径。原创 2023-12-04 18:27:12 · 1470 阅读 · 0 评论 -
Android 获取系统编解码器
【代码】Android 获取系统编解码器。原创 2023-11-18 17:27:30 · 747 阅读 · 0 评论 -
Android 特权应用 privapp-permissions 权限解读
特权应用特权应用是位于系统映像某个分区上priv-app目录下的应用,如。特权应用。原创 2023-10-21 17:11:22 · 2794 阅读 · 1 评论 -
Android PackageManager的妙用
str 输出为 :android.content.pm.Signature@b2d95fc0。获取方法是一样的,只是初始化。原创 2023-10-09 18:17:09 · 936 阅读 · 1 评论 -
Android 属性动画ValueAnimator整理
它是对值进行动画,我们监听这个过程,在这个过程中修改对象的值,从而实现对对象的动画效果。直接运行时没有效果的,要看效果就在 onAnimationUpdate 中实现,ObjectAnimator 、AnimatorSet 参考前篇。本例实现的例子,模仿银行app ,余额滚动效果。本篇介绍 ValueAnimator ,Android 属性动画有。原创 2023-10-09 11:00:11 · 340 阅读 · 0 评论 -
Android 解决 ./system/bin/test.sh: No such file or directory
做 Android 开发时,预制 test.sh 到 system/bin/test.sh ,到串口执行这个脚本报错如下,cat -v ./system/bin/test.sh 查看文件,发现每一行最后都有 ^M ,说明是格式问题。这个脚本是在 Windows 下编辑,然后拷贝到 Linux 服务器上的,所以格式出问题了。它和换行符相关,不同操作系统和编辑器下的换行符是有差异的。sh 脚本语法没问题却提示。更多去掉 ^M 的方法参考。原创 2023-10-09 09:26:26 · 837 阅读 · 0 评论 -
Android 使用ContentObserver监听SettingsProvider值的变化
重写 onChange 方法,回调时会跑这里。selfChange 意思不大,一般都是 false。/***/@Override构造函数中需要传一个 Handler ,那就创建 Handler。原创 2023-09-28 15:06:22 · 1205 阅读 · 0 评论