android_system
文章平均质量分 50
通信侠
雄关漫道真如铁,而今迈步从头越。
展开
-
targetSdkVersion真奇怪
最近在移植项目代码,相当与从4.4移植到7.1上,中间项目还有6.0的版本。从4.4到6.0没有任何问题,但是无论是4.4到7.1上还会6.0到7.1上都会出现ANR:空指针:mSelectionListenerCallback为空。构造顺序:创建Fragment FragmentTransaction transaction = getFragmentManager().begin...原创 2018-09-28 16:54:38 · 478 阅读 · 1 评论 -
android盘符不更新
修改盘符参考以下blog:https://blog.csdn.net/silence_cdsn/article/details/43268899?utm_source=blogxgwz3之后客户需求,改变设备型号,所有的属性都要跟着修改,连接PC(windows),切换成MTP模式,发现盘符还是之前的名称,应该是PC端注册没有更新。解决方法:设备管理器-便携设备-右键卸载-插拔USB...原创 2018-12-04 12:06:36 · 203 阅读 · 0 评论 -
android通过广播打印ram使用信息
在内存非常吃紧的情况下,android设备会开始kill部分非系统进程甚至系统进程来保证基本的系统运行。在这种情况下如何获取设备过去某段时间的ram使用情况至关重要。我们可以通过此途径,设计一套通过广播打印内存信息的方式以应对各种调试情况,此文仅将内存信息通过log的形式后台打印获取。1.发送的广播需要在BroadcastQueue.java特别处理,避免被系统拦截。3.RamInfo参考开发者模式中的方式获取过去某段时间的内存使用情况。通过开发者模式中的“内存”可以完美得知设备内存使用信息。原创 2024-02-20 10:18:14 · 392 阅读 · 0 评论 -
android通过广播打印RAM信息
int型参数index:0 - 3h, 1 - 6h, 2 - 12h, 3 - 24h。广播:com.android.settings.action.RAM_INFO。代表过去时间app使用ram情况(平均/最大占用)通过广播打印ram相关log。原创 2023-12-04 11:23:10 · 294 阅读 · 0 评论 -
android高版本适配使用Tools.java
注意:请更新对应平台的api和sepolicy,笔者使用展锐T606 android 13平台,对应修改如下。原创 2023-12-04 09:59:53 · 250 阅读 · 0 评论 -
android 省电模式
设置一电池界面中“省电模式选择”目前支持三种模式选择:智能省电模式、低电量模式、超级省电模式。原创 2023-11-28 10:07:41 · 410 阅读 · 0 评论 -
android 11安装apk自动获取权限
为获取除android.permission.MANAGE_EXTERNAL_STORAGE外的所有权限。为了解决android.permission.MANAGE_EXTERNAL_STORAGE,需要额外添加enableManageExternalStorage(packageName, resAppId);由于android 11以上版本对于读写权限的进一步限制,安装的apk获取权限的流程又加了一步,对于客户来说多半步也算复杂,根据之前的经验,在安装流程后打开全部权限即可。原创 2023-11-16 14:45:54 · 1675 阅读 · 0 评论 -
android 更新时区文件
本文主要介绍android 5.1与android 9.0更新时区文件的方法。原创 2023-07-24 18:50:50 · 517 阅读 · 0 评论 -
android 定时重启设备
本文主要介绍一种定时重启设备的方案,目的是对于低内存设备,防止其由于长时间不关机且应用消耗过多RAM导致卡顿甚至无法开机的现象。基本方案是通过AlarmManager设置定时闹钟唤醒系统并且判断是否符合重启条件,从而进行弹框提醒和倒计时重启。原创 2023-07-18 16:37:10 · 773 阅读 · 0 评论 -
android 9 申请动态权限android.permission.WRITE_EXTERNAL_STORAGE 允许后应用闪退
问题描述:如题,在调试android 9 高通msm8953平台时,客户反馈应用在允许Manifest.permission.WRITE_EXTERNAL_STORAGE权限后,应用闪退。从log分析是07-22 09:56:02.331 I/ActivityManager( 1658): Killing 9824:com.xxx.xxx/u0a123 (adj 100): permission grant or revoke changed gids系统认为gids变了就要杀掉应用参考:Andro原创 2021-08-03 15:01:56 · 2676 阅读 · 0 评论 -
android sd卡权限
把android P上被谷歌架空的media write权限补回来,解决外置存储卡复制、移动等操作,提示需要root权限的问题。frameworks/base/data/etc/platform.xml <permission name="android.permission.WRITE_MEDIA_STORAGE" > <group gid="sdcard_r" /> <group gid="sdcard_rw" />原创 2021-06-07 11:50:52 · 493 阅读 · 0 评论 -
android设备连接电脑无需授权
摘要:本文主要介绍设备连接电脑后如何去除“一律允许使用这台计算机进行调试”对话框,并且能够正常使用。通过代码的修改达到此效果。Android8.0 user版本使用adb root(且不用授权adb key)上面超链接有详细的修改流程。user版本不同于userdebug和eng,会要求设备连接电脑时进行授权,在android低版本(Lollipop)在build/make/core/main.mk文件中将以下代码注释即可## user/userdebug ##... ifeq ($(use原创 2021-01-06 11:05:16 · 2174 阅读 · 1 评论 -
android系统提供接口实现代码控制热点开关
设置中有控制热点的开关,并且有相关的类型和密码设置,但如何通过api在第三方app开发中控制呢?android 9.0的api为了安全,并不允许除systemuid之外的app控制热点,android 代码设置、打开wifi热点及热点的连接以上blog也仅对android 5.1有效。那只能通过系统提供对外接口,然后在设置中进行控制,接口形式为广播:Index: frameworks/base/services/core/java/com/android/server/am/BroadcastQue原创 2020-12-07 12:00:38 · 848 阅读 · 0 评论 -
android删除feature
android判断当前设备的支持哪些Feature比如删除NFC feature:Index: frameworks/base/core/java/com/android/server/SystemConfig.java===================================================================--- frameworks/base/core/java/com/android/server/SystemConfig.java (版本 1412原创 2020-12-07 10:18:50 · 915 阅读 · 0 评论 -
android动态修改屏幕亮度最大值
前言:本文所提出的方案主要通过动态修改lcd-backlight/max_brightness的值已满足动态调节屏幕最大亮度,从而降低耗电量。屏幕默认最大亮度为255时,功耗非常高,根据驱动提供的电池曲线,当屏幕最大亮度降低至原来的80%,功耗能降低原来的50%,故提出此方案解决功耗问题。android原生系统有配置属性:<!-- Maximum screen brightness allowed by the power manager. The user is forbidden f原创 2020-11-26 11:36:05 · 2341 阅读 · 0 评论 -
android默认给予系统apk权限样例
Index: frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java===================================================================--- frameworks/base/services/core/java/com/android/server/pm/permission/Default原创 2020-08-26 15:00:05 · 577 阅读 · 0 评论 -
第三方APK如何隐藏虚拟按键
全面屏时代,android设备已经很少有键盘的存在了,为了便捷,虚拟按键应运而生,当然iphone的手势控制也有一部分厂商移植到了android系统中。本文主要是关于底部的三个虚拟按键RECENT、HOME、BACK对于第三方APK如何隐藏。View.java的API显示,三个虚拟按键都是hide,即只有系统APK可以调用: /** * @hide * * NOTE: This flag may only be used in subtreeSystemUiVisib原创 2020-08-12 15:55:09 · 1098 阅读 · 0 评论 -
android修改或添加SettingsProvider的默认值
有些系统属性定义在frameworks/base/core/java/android/provider/Settings.java文件中,其中分为System、Global、Secure。调试时,可以通过get和put指令,临时获取和修改相应的属性:例如:adb shell settings get global animator_duration_scale当调试完毕,确定需要修改的值后...原创 2020-04-02 14:19:52 · 3416 阅读 · 0 评论 -
android P非systemuid应用如何通过反射调用hide接口——系统修改方案
高通8909平台,项目需要集成GMS。开机后,SetupWizard一直报错,查看log发现是调用了系统的hide方法,显示Accessing hidden method进而报错java.lang.NoSuchMethodException。百度找到了一篇入门贴:https://blog.csdn.net/firedancer0089/article/details/82969969然后找了...原创 2020-01-15 19:25:45 · 1285 阅读 · 0 评论 -
android WIFI相关问题集合
1.Wi-Fi hotspot cannot be used normally问题描述:android P - Settings - Network & internet - Hotspot & tethering - Wi-Fi hotspot - turn on the switch.it will switch off automatically after a few...原创 2020-01-03 16:13:42 · 6105 阅读 · 0 评论 -
android P使用google接口进行定位
公司没有申请 google认证,但是又要做海外生意,如此一来,海外客户在不知情的情况下进行开发,肯定要用到google接口。为了不暴露,就必须在灰色地带游走,目前方案是暂时集成了基本的google框架,但是只能个人用户激活,才能正常使用部分功能。How to get GMS apps from GAPPs and integrate them into AOSP请参考:How_to_get...原创 2019-12-31 10:57:56 · 1421 阅读 · 6 评论 -
android - DeviceOwner: Trying to set device owner but device is already provisioned
客户写了一个apk要成为device owner;之后apk联网更新升级;强制卸载安装,导致无法再次成为DeviceOwner。原因:当一个app成为DeviceOwner后,这个app是不能被卸载,但是由于应用更新,强制卸载之前没有注销DeviceOwner,导致异常。解决方案:https://blog.csdn.net/u011068702/article/details/53191...原创 2019-12-27 13:55:05 · 2501 阅读 · 0 评论 -
android修改RAM和ROM在设置中的显示
所有存储设备约定成俗,实际容量会比显示容量小。比如,1TB厂商会以1000GB计算,而不是1024GB,所以显示的是1000/1024=976GB。android设备也是如此,对外规格有1+8和2+16,故客户希望显示实际的值。RAMandroid RAM是直接读取/proc/meminfo里的数值,修改的接口是在framework层,仅需在此修改即可解决设置中显示的数值。这里需要注意的是...原创 2019-12-11 12:29:17 · 4243 阅读 · 0 评论 -
Android L 拷贝文件到U盘异常问题
前言:在高通8916平台,通过自带的文件管理器拷贝文件到U盘,显示完成后拔除U盘,在电脑上发现文件有问题,或是为0b或是打不开或是大小异常。如果正常通过设置中的移除U盘就没有这个问题,故问题定位在热插拔异常。首先我来解释下为何会出现这种问题,基于linux, write操作和read操作有一点是不同的: read操作需要从磁盘上读取到用户需的有效数据才算结束。 而write则只需要把数据写...原创 2018-05-14 11:58:14 · 3160 阅读 · 1 评论 -
禁用不必要USB模式,如MassStorage,MTP,PTP等(上层)
Android7.0上层禁用USB模式原创 2017-12-08 16:47:30 · 5422 阅读 · 0 评论 -
正式版本去掉如ADB debug
正式版本去除adb原创 2017-12-08 16:35:04 · 303 阅读 · 0 评论 -
android5.0日历范围
本文主要介绍了android日历年限的范围如何自定义。原创 2017-08-21 14:30:12 · 711 阅读 · 0 评论 -
ListView第一次加载图片会闪
控件ListView的小问题原创 2017-12-08 16:04:25 · 181 阅读 · 0 评论 -
Android O按键背光功能
前言:客户需要在android 8.0上实现按键背光功能,我记得在android 5.1上只需要设置一个config即可(config_button_light_enabled),但是框架变化太大,config找不到了,只能询问高通。然后,高通说8.0没做……(Google did not add interface for button backlight need you release i...原创 2018-05-14 13:31:49 · 2086 阅读 · 3 评论 -
android USB端口切换
前言:有一个韩国客户,为了过认证需要调用rndis端口。这个功能在三星手机上可以查看到,但是一般的android设备都没有打开该功能,估计是三星自己加的。话不多说,usb端口功能早就写好了,只是需要驱动分析是否支持再打开相应开关。实现是在文件init.qcom.usb.rc里,现在截取我们需要的功能:on property:sys.usb.config=rndis,serial_smd...原创 2018-05-14 13:43:12 · 5163 阅读 · 0 评论 -
android使用物理键盘的同时能够弹出软键盘
网上资料一大堆,拼拼凑凑应该能解决,我的思路比较简单:android4.4WindowManagerService.javaboolean computeScreenConfigurationLocked(Configuration config) {... // Determine whether a hard keyboard is available and enabled....原创 2018-09-28 17:06:01 · 2613 阅读 · 1 评论 -
android去除安全模式
问题:android长按power,出现关机、重启、飞行模式界面,长按关机会提示是否进入安全模式,现在需要去除这个功能。在识别长按的是否返回可以解决该问题。现在说一下我的改法:在首次开机后,会在/data/system/users/目录下面生成0.xml(本机)和userlist.xml(游客)两个文件,这两个xml文件就会有一些UserManager里面的功能限制,安全模式就在这其中。/...原创 2018-12-07 19:03:40 · 3516 阅读 · 0 评论 -
android系统添加水印
本文主要介绍如何为android系统添加水印的功能。公司的产品为了体现专业性并且防止样机被别有用心的人趁机用于商业用途,故需要添加水印提醒第三方,标明此设备为开发调试专用的样机,不能用于正常使用。网上有许多从应用的角度添加水印的方法,这些都不符合需求,在前辈的提点下,仿照安全模式的方式添加水印。原创 2019-01-23 15:01:42 · 3120 阅读 · 0 评论 -
开机动画打包指令
之前在windows和ubantu直接用打包软件打包会出现开机动画无效的问题,用指令万无一失zip -0 -r …/bootanimation.zip ./原创 2019-04-30 14:57:25 · 730 阅读 · 0 评论 -
android系统屏幕旋转实时生效
友宝和支付宝合作推出刷脸支付,友宝又是咱公司的长期客户,这次真的是傍上大腿了,和汤也赚。动态旋转系统屏幕,这个网上根本查不到,都是关于app如何旋转,系统级别的资料太少。查了2天快绝望了,然后灵光一闪,一试,成了,美滋滋~盒子产品需要实时切换横竖屏,之前做过设置属性persist.panel.orientation然后重启设备生效。修改点:1.framework层frameworks/n...原创 2019-05-14 16:01:26 · 2586 阅读 · 6 评论 -
如何在高通平台新建项目
公司在新的QC基线上开发新项目,发现创建之后camera无法使用,基线上是好的。由于之前建项目都是copy整个目录,没啥问题,不过这次有可能是新平台(P)的缘故,可能还需要其他配置,故提case询问QC。Initial the workspace and source tree(1) $ source build/envsetup.sh(2) $ cd device(3) $ mkdi...原创 2019-05-28 09:18:13 · 592 阅读 · 0 评论 -
android仅安装客户指定应用(高通KK_8x12平台)
本文简要介绍了一种实现仅安装白名单中app的实现方法。原创 2017-08-08 11:48:31 · 901 阅读 · 7 评论