Android
文章平均质量分 53
屯田中郎将
打铁还需自身硬。
展开
-
linux查找文件并替换文件名字符串
查找名字含有abc的文件名,并把文件名中的abc替换为xxx。原创 2023-01-12 13:19:16 · 634 阅读 · 0 评论 -
dmesg权限异常
非root用户使用dmesg命令报错如下。dmesg: klogctl: Operation not permitted如要临时开放可按照如下修改diff --git a/kernel/kernel/printk.c b/kernel/kernel/printk.c index 145d69cc9原创 2022-06-15 17:17:08 · 2649 阅读 · 0 评论 -
app属性seinfo 应用selinux上下文
seinfo用zygote创建app进程时创建selinux上下文使用。不同签名会创建对应的selinux上下文。platform,system,untrusted等。frameworks/base/services/core/java/com/android/server/pm/SELinuxMMAC.java中getSeInfo()函数获取对应安装时分配的值。特殊修改上下文看以针对此函数改动。...原创 2020-08-18 17:08:38 · 560 阅读 · 0 评论 -
批量安装当前目录apk的bat脚本
@ECHO off @REM 无限循环的标签 :LOOP adb wait-for-device @REM 循环安装本目录下的APK文件 FOR %%i IN (*.apk) DO ( ECHO 正在安装:%%i adb install -r "%%i" ) ECHO 安装完毕;请更换下一台手机!PAUSE GOTO LOOP @ECHO on另存为后缀bat.编码格式记得改成GB2312/GBK...原创 2020-08-06 17:01:54 · 853 阅读 · 0 评论 -
android Q 标准类新增api错误
You have tried to change the API from what has been previously released inan SDK. Please fix the errors listed above.android Q 标准类新增api错误Aborting: Found compatibility problems checking the public API against the API in /android/out/soong/.intermediates原创 2020-08-05 20:19:58 · 3017 阅读 · 2 评论 -
init.rc文件添加on property触发器无效
在init.rc文件中时常可以看到如下信息。on property:init.svc.vendor.per_mgr=running start vendor.per_proxy这里表明property的属性init.svc.vendor.per_mgr值等于running时。则启动vendor.per_proxy。可以看到设置对应的属性可以启动对应的服务。这里的实现主要由init文件的parser解析实现。system/core/init/action_parser.cpp...原创 2020-06-21 13:24:17 · 1793 阅读 · 0 评论 -
android 9 sh脚本执行。
关于安卓9中sh脚本的执行。在rc文件中添加脚本执行规则其实很容易,有个小细节要注意。也是写脚本的人员很容易忽略的事情。脚本开头需要指定sh。这对linux或者安卓中都很重要。#!/vendor/bin/sh#!/system/bin/sh直接导致selinux上下文的变化。前者上下文为tcontext=u:object_r:vendor_shell_exec:s0后者上下文为tcontext=u:object_r:shell_exec:s0不注意这个对权限开发会产.原创 2020-06-18 16:00:12 · 1270 阅读 · 0 评论 -
android 源码集成jar包报Had 356 soft failure(s) verifying all classes
今天集成jar包发现编译不过。Had 356 soft failure(s) verifying all classes, and was asked toabort in such situations. Please check the log.从错误得知ERROR: Dex2oat failed to compile a boot image. It is likely tha...原创 2020-04-24 10:11:23 · 803 阅读 · 0 评论 -
android qcom Lights框架以及开发外部应用调用思路
近期项目开发中遇到需要增加手电筒控制的接口(不访问camera)。此类问题实际上实现起来非常简单。本着学习的精神以及不愿意简陋的实现该功能,因此把Lights框架查看了一遍,并增加新灯的控制方式。先从调用处开始查看:frameworks/base/services/core/java/com/android/server/BatteryService.java//调用处,获...原创 2019-02-26 21:04:51 · 939 阅读 · 1 评论 -
安卓设置锁屏密码流程
本文以安卓5.1为例分析锁屏密码设置的流程。由设置界面中设置密码可以看到以下文件。packages/apps/Settings/src/com/android/settings/ChooseLockPassword.java428 if (mUiStage == Stage.Introduction) {429 errorMs...原创 2018-11-22 09:46:43 · 3178 阅读 · 1 评论 -
关于Android开发过程中遇到的一些权限注意点
1、AndroidManifest.xml文件中声明的权限2、linux经典权限chmod3、linux的Selinux权限4、linux层中代码校验UID时的权限。例如 return in_egroup_p(xt_qtaguid_stats_file->gid) || unlikely(!current_fsuid()) || uid == current_fsuid()原创 2018-02-02 11:14:38 · 342 阅读 · 0 评论 -
高通平台LK传递参数给kernel参考serialno的方式实现
该需求主要是为了能够获取自定义的版本号,或者需要bootloader里,定制代码的执行结果需要传递到bootloader从而控制启动等。首先可以从shell里查看LK传入的值。cat proc/cmdline得知androidboot.serialno=xxxxx那么可以再源码树里查找serialno关键字并依葫芦画瓢即可bootable/bootloader/lk/app/...原创 2017-10-24 11:22:43 · 3082 阅读 · 0 评论 -
Android层测试摄像头实际输出帧率大小
1、设置prop属性adbshellsetproppersist.camera.sf.showfps1log中搜索PROFILE_PREVIEW_FRAMES_PER_SECOND2、在adblog中过滤同时包含mm_stream_read_msm_frame和streamtype1的行,数出每一秒同时包含mm_stream_read_msm_frame和st原创 2016-02-19 10:34:33 · 5452 阅读 · 0 评论 -
Android.mk积累
集成apk时,如果带有so库,也就是jni库那么需要添加1、顶层Android.mk 添加 LOCAL_JNI_SHARED_LIBRARIES := libxxxx 2、新建目录jni,把libxxxx.so放入这个目录并且新建Android.mk文件。3、在新建mk中添加一下内容。 include $(CLEAR_VARS) LOCAL_MODULE := l原创 2017-01-04 09:21:14 · 431 阅读 · 0 评论 -
Android设置界面与通知栏裁剪
最近产品在做认证有点烦躁,但是没有关系。不就是认证嘛。该死的认证。奇葩的需求,因为机器申请只有4G的频段,需要把2/3G的频段给频闭。界面上可以设置成只有4G的频段。但是毕竟设置界面在那里,别人发现了还是说明你的机器是全网通机器。因此需要把设置界面给改了。在源码目录下。packages\services\Telephony\src\com\android\phone\msim\MSimMo原创 2016-06-08 15:42:27 · 1625 阅读 · 0 评论 -
Android 5.1.1 状态栏裁剪以及点击状态栏的事件监听裁剪
公司又派发任务来折磨我了,没关系谁叫咱是码农呢。实际上状态栏和导航栏都属于systemUI里的内容。对于状态栏的裁剪,可以分为两种。第一种,整个状态栏都不要了。那么这种很简单,但是这样可能导致信号什么的不好查看。直接修改xml文件把状态栏显示的dpi改成0搞定。 frameworks/base/core/res/res/values/dimens.xml 修改 25dip为0d原创 2016-07-28 16:24:59 · 2234 阅读 · 2 评论 -
Android5.1.1 自带Camera2/SnapdragonCamera的apk拍照方向旋转90°
Google默认的Camera2或者SnapdragonCamera拍照后方向自动旋转了270°的问题。原创 2016-07-28 16:47:34 · 3569 阅读 · 0 评论 -
高通SPI指纹模块driver调试
高通平台指纹模块的调试小记。原创 2016-09-18 15:09:22 · 8240 阅读 · 3 评论 -
触摸屏getevent正常报数据,Android却无触点的bug
今天在调试一款触摸屏。发现一个bug,说来也是奇怪。明明在adb shell里面执行getevent命令,触摸数据和事件都上报了。可是Android就是压根没反应呀!!决定还是从drver入手,查找一番终于发现了问题。原来参考驱动里没有设置input_set_abs_params的ABS_MT_POSITION_X和ABS_MT_POSITION_Y,设置的最大值变量从来没有被赋值。果断改了值,A原创 2016-09-22 08:24:57 · 2436 阅读 · 0 评论 -
入网认证遇到的安全受控机制的问题---之Android 5.1.1 AppOps与严格模式
开启严格模式,安全受控机制原创 2016-08-18 15:05:10 · 2901 阅读 · 0 评论 -
Android硬件访问服务由HAL层到APP以及添加自定义权限限制访问
本文主要内容如下。其实Android硬件访问服务的文章已经多的数不胜数了。1、编写HAL库控制硬件 2、添加jni访问HAL库 3、java调用jni的实现以及AIDL 4、实现管理类来对java的访问服务进行操作以及APK调用方法 5、对硬件访问服务进行访问硬件的权限检查,以及自己添加新的权限在framework以及APK调用方法1、编写HAL库控制硬件以Android5.0为例原创 2016-12-01 09:05:08 · 2552 阅读 · 2 评论 -
Android源码树常用命令
croot 切换到源码树的根目录m 在源码树的根目录执行 makemm Build 当前目录下的模块mmm Build 指定目录下的模块cgrep 在所有 C/C++ 文件上执行 grepjgrep 在所有 Java 文件上执行 grepresgrep 在所有 res/*.xml 文件上执行 grepgodir 到包含某个文件的目录路径printconfig 显示当原创 2017-01-10 09:15:53 · 392 阅读 · 0 评论 -
关于Android properties 中ro开头无法修改的问题
熟悉Android开发的小伙伴都知道,build.prop里存在很多选项,其中ro开头的选项无法通过SystemProperties.set方法进行修改。这里除了Selinux的原因还有本身propertyservice里的限制,我们看看代码system/core/init/property_service.c298 int property_set(const char *name, con原创 2017-03-02 09:40:09 · 2510 阅读 · 0 评论 -
Android5.1.1实现备份应用数据功能
Android5.1.1实现备份应用数据功能 首先先来几个知识点,Android各个应用数据的隔离实际上是通过不同的UID来区别的。UID分配过程不在本文详解。应用安装时会在/data/data/目录下以包名为目录名,创建一个目录,并且分配权限为751,并分配对应的用户与用户组,这就导致了,要想读取某个应用的应用数据,就应该需要这个应用的uid或者gid,如果要对这个目录进行写的话,则需要ui原创 2016-12-08 18:27:18 · 3815 阅读 · 1 评论 -
Ubuntu android studio 创建虚拟设备问题
修改家目录下的.android所属为当前用户,默认是超级用户。无法布置任务到Android虚拟设备,需要手动启动adb服务。原创 2016-02-22 10:38:32 · 1155 阅读 · 0 评论