- 博客(26)
- 收藏
- 关注
原创 android 7.1 刷机后第一次开机概率性缓慢(2~4分钟)--ANR
引言开机时启动客户定制服务,概率性导致开机非常缓慢,正常开机50秒左右,异常开机达到2~4分钟记录问题分析过程。分析过程废话不多说,直接上日志,定位到异常日志位置12-27 17:26:02.864 4469 4806 I Process : Sending signal. PID: 4469 SIG: 312-27 17:26:02.864 4469 4472 I art : Thread[2,tid=4472,WaitingInMainSignalCatcherLoop,Th
2021-12-28 21:44:08
2035
转载 Android 动态链接库 So 的加载
前言最近在做 Android 项目的时候,需要在 NativeActivity 中动态加载 so 。运行的时候,抛出了异常Caused by: java.lang.IllegalArgumentException: Unable to find native library using classloader: dalvik.system.PathClassLoader在 NativeActivity 中可以看到@Overrideprotected void onCreate(Bundle sa
2021-12-27 18:08:49
3401
2
转载 Android9.x MTK NVRAM的读写---上层实现SN和MAC读写
前言MTK平台有自己的序列号和MAC地址烧录工具,但只能用于个人的调试,如果产品要量产,还使用MTK平台自己的烧录工具,则就不合适了,因为满足不了工厂生产的一些客制化功能,比如SN号和MAC地址拼凑在一起同时烧录,MTK烧录工具就做不到。那么就需要设备厂商自己开发烧录工具了。本文就是解决MTK 平台Android9.0上如何通过应用层来进行读写SN号和MAC地址。概述在MTK平台中,SN号和MAC地址都是保存在NVRAM中的,所以读写SN号和MAC地址,实际上就是对NVRAM进行读写操作。而在And
2021-12-02 17:34:01
3647
1
转载 Android N状态栏图标白底问题
问题背景最近定制项目中,客户反馈自己的apk在收到通知时,状态栏图标全是白色底方框图片,不能正常显示用户代码里面加载的图片资源。问题原因这个是Android N对通知栏图标处理设计如此,处理逻辑如下:首先判断APK的target version是Android L之后,如果是则直接会主动上色如果在Android L之前则判断图片是否为Grayscale(灰度图),如果为灰度图的话也会有一个上色的操作.涉及的代码有两块:frameworks/base/core/java/android/app
2021-12-02 10:37:18
614
原创 android 9.x mtk 定位模拟
引言实际情况实在不好说,懂的都懂,一切都是为了招标方案diff --git a/frameworks/base/location/java/android/location/GpsStatus.java b/frameworks/base/location/java/android/location/GpsStatus.javaindex d4ca5fe854..4502e26559 100644--- a/frameworks/base/location/java/android/locatio
2021-11-23 10:16:40
1531
原创 android 9.x mtk 修改默认字体和显示大小
引言记录修改,方便回查。diff --git a/frameworks/base/core/java/android/content/res/Configuration.java b/frameworks/base/core/java/android/content/res/Configuration.javaold mode 100644new mode 100755index 193e56ef40..112ab0d370--- a/frameworks/base/core/java/andr
2021-09-10 11:25:49
554
原创 android 9.x PKMS(二)Settings,SystemConfig,PackageParser分析
引言记录下PKMS初始化时xml文件和apk安装时的解析类。1.frameworks/base/services/core/java/com/android/server/pm/Settings.java// Settins文件 data/system/packages.xmlprivate final File mSettingsFilename;//这个文件不一定存在,是备份文件,如果存在则说明更新packages.xml出错//data/system/packages_backup.xm
2021-08-26 18:18:04
1185
原创 Android binder学习笔记(二)Binder实现跨进程通信
引言上一篇文章分析了AIDL的调用流程,这篇文章将抛弃传统的AIDL使用方式,通过使用Binder的方式进行通信。跨进程通信时,客户端通过代理类IJustKiddingProxy的add()方法调用,得到计算结果,那是不是可以不通过原始AIDL的方式来通信呢?答案是肯定的,不然也不会有这篇文章了。通过Binder调用AIDL接口 @Override public int add(int a, int b) throws RemoteException { Parcel _d
2021-07-12 17:43:21
261
原创 Android binder学习笔记(一)AIDL流程分析
看过一下binder相关的技术文章,下面这篇我觉得讲的最通透:Android中Binder学习
2021-07-12 15:51:27
199
原创 Android 系统源码flag随笔
引言做系统framework开发的,阅读系统源码肯定不会少,经常会看到类似下面这些代码 final int installFlags = args.installFlags; final String installerPackageName = args.installerPackageName; final String volumeUuid = args.volumeUuid; final File tmpPackageFile = n
2021-06-24 17:38:16
412
3
原创 android 9.0 修改默认显示大小和字体大小
引言保留修改记录,方便后期参考修改方案diff --git a/frameworks/base/core/java/android/content/res/Configuration.java b/frameworks/base/core/java/android/content/res/Configuration.javaold mode 100644new mode 100755index 193e56ef40..112ab0d370--- a/frameworks/base/core/j
2021-06-15 17:07:50
1619
4
原创 android 9.0 MTK平台关闭调试口ttyS0
引言外外接过多,腾出s0口用作外设通信修改方案diff --git a/device/mediatek/mt6771/factory_init.rc b/device/mediatek/mt6771/factory_init.rcindex a1b5d00589..30c54bd849 100755--- a/device/mediatek/mt6771/factory_init.rc+++ b/device/mediatek/mt6771/factory_init.rc@@ -701,13
2021-06-09 15:26:18
1282
转载 Android9.0 锁屏分析
一、锁屏核心组成Android锁屏流程分析,核心的类有KeyguardViewMediator、keyguardUpdateMonitor、keyguardBouncer等。KeyguardViewMediator继承SystemUI,是锁屏的核心类,是交互的中转类,其它对象都通过KeyguardViewMediator对象相互交互。keyguardUpdateMonitor是状态回调的管理类。keyguardBouncer是锁屏view的通信交互类。二、锁屏开机分析锁屏keyguard属于Sy
2021-05-12 21:45:18
1883
原创 Android 9.0 MTK 修改壁纸不拉伸
引言记录修改方案修改方案diff --git a/frameworks/base/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/frameworks/base/services/core/java/com/android/server/wallpaper/WallpaperManagerService.javaindex d63370fbea..269785dedc 100755---
2021-05-11 18:58:05
827
1
原创 Android 9.0 MTK平台Nvram写sn号失败
引言最近遇到调用Nvram服务写SN号失败的问题,抓取了日志,没有看到明显的异常 Line 372: 04-20 12:57:20.187 411 411 D NVRAM : NVM_GetLIDByName /mnt/vendor/nvdata/APCFG/APRDEB/PRODUCT_INFO Line 373: 04-20 12:57:20.188 411 411 D NVRAM : NVRAM: NVM_GetLIDByName Lid =61 Line 376
2021-04-20 21:22:35
2234
原创 Android 9.0 MTK 平板横屏方案修改(二)
引言强制所有Activity方向适应系统方向修改方案解析apk时,将所有Activity的方向设置为SCREEN_ORIENTATION_UNSPECIFIED(无指定方向),Activity显示的时候就跟随系统方向diff --git a/frameworks/base/core/java/android/content/pm/PackageParser.java b/frameworks/base/core/java/android/content/pm/PackageParser.javai
2021-04-20 18:16:04
524
原创 Android 9.x 安兔兔/鲁大师参数修改
引言记录某行招标安兔兔参数修改硬件,CPU型号,Build Fingerprint修改记录diff --git a/build/make/core/Makefile b/build/make/core/Makefileindex 18e6de8c5f..f8bfd5a76f 100755--- a/build/make/core/Makefile+++ b/build/make/core/Makefile@@ -240,7 +240,8 @@ ifeq (,$(strip $(BUILD_F
2021-04-15 19:23:10
1444
原创 Android 9.x userdebug版本关闭adb root功能
引言公司某行招标软件版本是userdebug,需要关闭adb root功能,保留安装应用等功能刚开始修改系统属性值ro.secure=1,没有效果,只得去撸源码,最后修改成功,特此记录源码分析过程“解决方案”这个需求,不是很简单嘛,就是一个系统属性值的问题diff --git a/build/make/core/main.mk b/build/make/core/main.mkindex fedddff3df..c2e0a82f04 100755--- a/build/make/core/ma
2021-04-14 15:59:16
3204
原创 Android 9.x 安兔兔屏幕尺寸修改
引言准备银行招标软件,安兔兔中屏幕尺寸不对,需要修改到正确尺寸厂商给出的修改方案失效,我们的机器是双屏的,且主副屏切换故通过修改TextView代码实现。解决方案厂商修改意见:TextView修改方案:在append()方法中过滤字符串diff --git a/frameworks/base/core/java/android/widget/TextView.java b/frameworks/base/core/java/android/widget/TextView.javaindex
2021-04-13 18:42:13
1125
原创 android 7.1 高通平台 照片预览界面角度和镜像问题
前言此篇博客只为记录照片预览界面图片旋转90,180,270,镜像等问题的修改位置和方式5.1平台改过,后面忘记了;7.1平台上又碰到了,又得从新撸代码定位、解决问题特此记录,方便后面碰到相似问题,避免重复撸代码修改方法diff --git a/LINUX/android/packages/apps/SnapdragonCamera/src/com/android/camera/PhotoModule.java b/LINUX/android/packages/apps/SnapdragonCam
2021-03-29 17:03:51
678
转载 Android 9.0 MTK 平板横屏方案修改
引言强制app横屏 + 开机logo/动画+关机充电横屏 + RecoveryUI 横屏拆解步骤1、app 强制横屏显示,无视 android:screenOrientation=“portrait” 属性2、屏幕触摸坐标修改为横屏3、开机动画横屏4、开机logo、关机充电动画横屏5、RecoveryUI 横屏上代码1、app 强制横屏显示修改 rotationForOrientationLw(), 默认返回 270frameworks\base\services\core\java\
2021-03-12 17:40:45
1172
1
原创 android 9.x MTK平台讯飞输入法重启被卸载
引言平台信息:mt8788平台 android9.0问题描述:安装讯飞输入法,重启机器,讯飞输入法消失分析过程安装apk后,adb shell进入机器,查看/data/app里面的文件C:\Users\**\Desktop$ adb shell*****:/ # cd data/app*****:/data/app # ls -ltotal 4drwxr-xr-x 4 system system 4096 2021-03-11 10:47 com.iflytek.inputmethod-
2021-03-11 18:08:53
2958
1
转载 Android 9.x Camera2 横屏问题修改记录
vendor\mediatek\proprietary\packages\apps 目录下有三份相机源码 分别是Camera、 Camera1、 Camera2通过查看 mk 发现通过 ifeq ($(MTK_CAMERA_APP_VERSION), 3) 来控制编译哪一个,MTK_CAMERA_APP_VERSION 宏定义在 device/mediateksample/xxxxxx/ProjectConfig.mkCamera2 中适配了两套 api, 老版本的 Camera 和新版本的 Cam
2021-03-10 21:25:24
447
原创 android 9.x 开机自动同步时间较慢(2~3分钟)
问题描述不插sim卡,连接wifi启动,系统时间在2~3分钟之后才会同步到最新时间。NITZ和NTP机制在解决这个问题之前,让我们来学习一下NITZ和NTP的相关知识NITZ:Network Identity and Time Zone(网络标识和时区),是一种用于自动配置本地的时间和日期的机制,需要运营商支持,可从运营商获取时间和时区具体信息。NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的系统时钟。NITZ需要运营商网络支持(通过CS网络)
2021-03-10 16:01:25
3861
原创 android 9.x PKMS(一)adb install安装apk流程
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-03-08 19:55:18
1671
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人