手机研发中部分问题处理方式和思路
鲲蓝刀
这个作者很懒,什么都没留下…
展开
-
手机灭屏之后,来短信或者信息亮屏5s之后再黑屏
Android N上验证: 这个修改为客制化的需求,可以在BaseStatusBar.java定义一个wakelock,并初始化:import android.os.PowerManager;private PowerManager.WakeLock mNotificationWakeLock;mNotificationWakeLock = mPowerManage原创 2017-08-16 10:26:25 · 541 阅读 · 0 评论 -
增加National data roaming 菜单定制
AT&T 等运营商需求:增加 National data roaming /All network roaming 漫游开关选项National data roaming :sim卡与注册网络:mcc相同,mnc不同All network roaming :sim卡与注册网络:mcc不同 目前MTK平台行为: 漫游开关只有enable 和disable 选项, 不区分Natio原创 2017-06-26 17:08:47 · 1187 阅读 · 2 评论 -
[SIM]如何关闭SIM热插拔功能
[SIM]如何关闭SIM热插拔功能:关闭SIM热插拔功能需在ap和modem端操作如下: 1. AP端:在projectConfig.mk中将MTK_SIM_HOT_SWAP设置为no即可. 2. modem端:makefile中设置SIM_HOT_SWAP = NONE原创 2017-07-05 14:16:35 · 1500 阅读 · 0 评论 -
控制电量低于30%不能充电—处理方式
控制电量低于30%不能充电—处理方式处理方式如下:一:在xml文件做一个string文件的一个添加,其他语言也做一个添加。eg:CN 做一个添加:路径:packages/apps/Settings/res/values-zh-rCN/strings.xml"电池电量低,至少需要保持百分之三十的电量!请充电!"其他语言可以做类似的添加二:代码修改 如下:原创 2017-07-04 17:47:34 · 940 阅读 · 0 评论 -
androidN_高通平台—计时器结束无铃声问题修改
androidN_高通平台—计时器结束无铃声问题修改文件1:packages/apps/DeskClock / src/com/android/deskclock/data/SettingsModel.java:Uri getDefaultTimerRingtoneUri() { if (mDefaultTimerRingtoneUri == null)原创 2017-07-04 17:02:23 · 534 阅读 · 0 评论 -
如何永久性开启adb 的root权限
转载连接:https://onlinesso.mediatek.com/Pages/FAQ.aspx?list=SW&FAQID=FAQ06317[Description]如何永久性开启adb 的root权限 [Keyword]user debug root adb adbd [Solution]* adb 的root 权限是在system/转载 2017-07-12 11:33:19 · 2085 阅读 · 0 评论 -
[网络]插入移动卡和非移动卡,非移动卡为主卡时无信号
文章转自:https://onlinesso.mediatek.com/Pages/FAQ.aspx?list=SW&FAQID=FAQ20103 [网络]插入移动卡和非移动卡,非移动卡为主卡时无信号[DESCRIPTION] 自2017年4月开始经常会收到这样的问题:在插入移动卡和非移动卡时,如果切换非移动卡为主卡时,出现非移动卡搜转载 2017-06-30 14:43:39 · 1215 阅读 · 0 评论 -
Power键不亮屏分析方法
这篇文章感觉在以后的项目中必然会遇到,所以提前从MTK的技术文献上转载过来。原文章连接:https://onlinesso.mediatek.com/Pages/FAQ.aspx?list=SW&FAQID=FAQ19302[DESCRIPTION] Power键不亮屏log分析方法 [SOLUTION] (1)转载 2017-06-30 14:36:42 · 1252 阅读 · 0 评论 -
关机充电动画客制化以及错位调整
[说明] 关机充电动画客制化以及错位调整 [解]一,客制化1,关机充电标志图片都在阿尔卑斯山/供应商/联/专有/启动/引导程序/ LK的/ dev /标识目录下,在这里可以看到多个包含不同尺寸图片的子目录,具体使用哪个子目录下的图片由$ {} BOOT_LOGO决定。 注意:如果客户想要使用客制化的背景图片,可以直接替换子目录下对应编号的图片 2,需要根据实际情况修改。例如: ...转载 2018-05-09 10:09:45 · 1483 阅读 · 0 评论 -
死机现场分析
1. 死机现场分析手法死机分析如同医生给病人诊断病情,所有的手法不在乎分为两种。* 高科技的诊断设备,分析病人的病情。死机分析 就依靠各种技术方法去诊断当时手机的运行的真实状态。* 通过病人的各种活动,分析病人的潜在病因。 就依靠各种对手机的操作,以及命令,让手机跑相应的流程,从而进一步分析。 2. 基本分析流程 下面我们将针对每一个流程进行具体的说明. 3. Test Phone Usa...转载 2018-06-25 16:45:48 · 632 阅读 · 0 评论 -
可能导致Android手机死机的原因
死机现象:1. 死机/phong hang 定义当手机长时间无法再被用户控制操作时,我们称为死机或者hang 机。在这里我们强调长时间,如果是短时间,我们归结为Perfomance 问题,即性能问题.2. 死机表现* 用户操作手机无任何响应, 如触摸屏幕,按键操作等.* 手机屏幕黑屏, 无法点亮屏幕.* 手机界面显示内容和用户输入风马牛不相及.可能导致Android手机死机的原因:1. 系统简图当...转载 2018-06-25 16:54:19 · 2491 阅读 · 0 评论 -
android源码---转自一个博客大牛(Launcher启动流程,SystemServer进程启动流程,Zygote进程启动流程 ,异步任务AsyncTask ,异步消息机制 等)
今天看到一位大神的博客,涉及Android源码分析。面也挺广的。大致内容如下:Android源码解析之(十)-->Launcher启动流程 文章链接:https://blog.csdn.net/qq_23547831/article/details/51112031其他内容:android源码解析之(一)–>android项目构建过程 android源码解析之(二)–>异步消息机...原创 2018-06-27 10:39:55 · 229 阅读 · 0 评论 -
Android系统的启动流程
每个系统都有一个引导文件,由引导文件去运行linux内核,内核程序开始启动的时候会加载各种驱动和数据结构,开始加载android应用层的第一个进程(init进程c代码(system\core\init目录) Init.c),由这个进程加载其它的进程开始启动,本节主讲从内核开始执行Init.c到启动完成锁屏的过程1. system\core\init\Init.cint main(int arg...转载 2018-06-26 10:17:31 · 448 阅读 · 0 评论 -
Android Camera从App层到framework层到HAL层的初始化过程
文章链接:https://blog.csdn.net/hutongling/article/details/77053920转载 2018-06-26 09:40:22 · 731 阅读 · 0 评论 -
死机与重启的关系
1. 死机还是重启应当说针对不同的场景, 死机和重启意义不一样.对于普通用户来说, 死机的危害性和重要性远大于重启。死机意味着机器在很长一段时间内机器都运行不正常,不能使用。危害性仅次于不能开机。重启很多时候用户都无法感知到,除非当时正在操作手机,并且通常很快就可以恢复。 所以在USER 版本中,我们要尽可能的把死机转换成重启。对于开发者来说,重要的是解决问题,通常把死机转换成重启,为了规避一...转载 2018-06-25 19:46:49 · 567 阅读 · 0 评论 -
死机分析3--无现场猜测与分析
1. 无场景猜测与分析前面已经提到,无场景分成两类* 已经重启过的手机 死机现场已经不复存在, 但手机还没有刷机, 可以从手机中抓取已经存在的资讯来分析. * 仅仅一些LOG 或者其他的资讯 需要从这些LOG 或者 资讯中猜测, 当时手机的状态, 以及可能死机的原因. 对于前者, 如同法医解剖逝者遗体, 分析可能的死亡原因。而对于后者, 就相当于警察叔叔对一些曾年旧案的考证, 挖掘与分...转载 2018-06-25 19:45:44 · 226 阅读 · 0 评论 -
死机分析2--系统运行环境分析
1. 系统运行环境客观的反应系统的执行环境,通常包括如CPU 利用率,Memory 使用情况, Storage 剩余情况等。这些资料也非常重要,比如可以快速的知道,当时是否有Process 在疯狂的执行,当时是不是处于严重的low memory 情况, Storage 是否有耗尽的情况发生等。 2. CPU Usage追查CPU 利用率可大体的知道,当时机器是否有Process 在疯狂的运行,...转载 2018-06-25 19:43:11 · 434 阅读 · 0 评论 -
Backtrace 分析
1. Java Backtrace从Java Backtrace, 我们可以知道当时Process 的虚拟机执行状态. Java Backtrace 依靠SignalCatcher 来抓取.Google default: SignalCatcher catchs SIGQUIT(3), and then print the java backtrace to /data/anr/trace.t...转载 2018-06-25 19:36:48 · 5275 阅读 · 0 评论 -
死机分析数据
1. 死机分析数据俗话说, 巧妇难为无米之炊, 死机分析, 同样需要获取第一手的资料, 方可分析问题. 那么哪些数据可以用来分析死机呢。大概的讲,可以分成空间数据和时间数据。空间数据,即当时现场环境,如有哪些process 在运行,CPU 的执行情况,memory 的利用情况,以及具体的process 的memory 数据等。 时间数据,即行为上的连续数据,比如某个Process 在一段时间内...转载 2018-06-25 19:34:39 · 238 阅读 · 0 评论 -
android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的.
android N上收到未接来电,没有LED灯闪烁提示,在M上是ok的. (1)原因未接来电的通知创建函数是updateMissedCallNotificaion,它的builder没有设置Priority:它设置的LED闪灯flag如下:但google在N上新增了importance的概念,在notificationRecord的defaultImportan原创 2017-06-30 14:08:20 · 3643 阅读 · 1 评论 -
关于状态栏的电量百分比
L和M版本上添加显示电量百分比办法:1, 添加viewStatus_bar.xml android:layout_width="wrap_content"android:layout_height="match_parent"android:orientation="horizontal">android:layout_width="wrap原创 2017-06-30 11:53:02 · 936 阅读 · 0 评论 -
Android面试题-机型适配之痛,例如三星、小米、华为、魅族系统问题处理方式
源码分析相关面试题Volley源码分析注解框架实现原理okhttp3.0源码分析onSaveInstanceState源码分析Activity相关面试题保存Activity的状态activity的启动模式原理(一)activity的启动模式原理(二)activity的启动模式原理(三)ActivityRecord TaskRecord和Proce转载 2017-05-22 11:51:16 · 5896 阅读 · 0 评论 -
android 5.1 如何打开 android.software.managed_users 功能
有两种方式: 1,在device.mk 加上 PRODUCT_COPY_FILES += frameworks/native/data/etc/android.software.managed_users.xml:system/etc/permissions/android.software.managed_users.xml 2, 1),你进原创 2017-04-28 11:27:00 · 1560 阅读 · 0 评论 -
手机研发中看手机是user版本还是userdebug或是eng版本
手机研发中看手机是user版本还是userdebug或是eng版本执行指令:adb shell getprop ro.build.type 就可以看到对应的值了,就是当前的版本原创 2016-11-17 21:03:14 · 4145 阅读 · 0 评论 -
android 切换到阿拉伯语电话号码+号显示在右侧及顺序错乱的处理
1.来电通知栏电话号码+号显示在右侧的修改位置:packages/apps/InCallUI/src/com/android/incallui/StatusBarNotifier.java刚开始修改的时候,在方法buildAndSendNotification()中添加://add by chensenquan20160727Configuration con =mContext.转载 2016-11-23 13:58:23 · 3664 阅读 · 0 评论 -
android 软键盘弹出隐藏挤压界面等有关问题
android 软键盘弹出隐藏挤压界面等问题 Android中软键盘的使用是非常多的,下面为软键盘常用的设置;1、横屏时,点击输入框出现全键盘解决方案: 在EditText、searchview等控件中加android:imeOptions="flagNoExtractUi" 2、竖屏时,安卓会出现半屏。 case1:你的输入框处于中下的位置,这样的话,键盘可转载 2016-11-21 15:43:49 · 1125 阅读 · 0 评论 -
camera首次开启,权限提示时home退出,两次点击camera才可以进camera
camera首次开启,权限提示时home退出,两次点击camera才可以进camera这个是由于我们的camera在launchmode的时候用的是singleTask。将launchmode=” singleTask”修改成:launchmode=” singleTop”就不会出现此类问题 原因是:singleTop要求如果创建intent的时候栈顶已经有要创建的Acti原创 2017-01-11 16:56:35 · 515 阅读 · 0 评论 -
国内手机屏蔽切换国家码''####682#”
最近在做国内项目的时候,发现输入暗码“####682#”的时候,可以切换国家码。由于键盘是用的是客户的,客户在键盘输入“####682#”的时候,发送一个广播,我们代码中在接受这个广播的时候,会启动国家码界面。处理方式:1:叫客户在键盘输入“####628#”的时候,不发广播 2:在我们代码中接受广播的地方,不开启国家码。最好的是:利用ro值原创 2017-01-06 09:31:25 · 3329 阅读 · 0 评论 -
android7.1.1开发过程中出现部分音乐播放器(酷狗,QQ音乐,酷我音乐)歌词不能长久显示在桌面
android7.1.1开发过程中出现部分音乐播放器(酷狗,QQ音乐,酷我音乐)歌词不能长久显示在桌面 处理:二号三方apk沟通,三方apk在7.1.1上做相应的适配,这个和android7.1.1平台是没有关系的原创 2017-03-14 19:49:14 · 1694 阅读 · 0 评论 -
“日期和时间->自动确定日期和时间->使用网络提供时间”功能是怎样实现的?
[DESCRIPTION]介绍“使用网络提供时间”这个功能的实现方法及可能会遇到的问题[SOLUTION]现在android通过网络同步时间有两种方式:NITZ和NTP,它们使用的条件不同,可以获取的信息也不一样;勾选这个功能后,手机首先会尝试NITZ方式,若获取时间失败,则使用NTP方式1.NITZ(network identity and time zone)同步时间NIT原创 2017-04-08 14:27:50 · 4833 阅读 · 0 评论 -
【Multi-user】如何在L版本上打开Multi-user
在L版本上,在android phone上支持Multi-user feature,在一些parent-child场景等场景下,是可以开启Multi-user这个feature。 [SOLUTION] 1,开启multi-user的方式: (1)在alps\device\mediatek\xxx\ProjectConfig原创 2017-04-28 11:29:06 · 1172 阅读 · 0 评论 -
如何确认M版本上Multi-user的配置是否ok?
[DESCRIPTION] 确认确认M版本上Multi-user的配置ok [SOLUTION] 1,Check managered_users configuration: adb shell pm list features 看是否有android.software.managed_users原创 2017-04-28 11:30:35 · 669 阅读 · 0 评论 -
GMS 5.1_r3/6.0_r2 以上版本开机向导wifi设置无法跳过
▪Description 更新版本GMS(5.1_r3/6.0_r2)后出现,在开机向导wifi设置界面,跳过按钮置灰5.1_r3版本,按钮置灰一段时间后可以恢复,点击即可跳过6.0_r2版本,按钮置灰不能恢复,则此次开机一直不能跳过▪Version Android L/M▪Rate30% ~ 50%▪Analyze5.1_r3及原创 2017-05-24 15:38:31 · 1580 阅读 · 0 评论 -
导入google的patch的一般方法
由于项目长期要测试CTS,GTS,还有定时更新google的安全patch,难免要导入一些patch。记录一下,导入的patch的方法和注意点:1:方法 (1):申请patch (2):提前拉两套代码:Drvonly+当前项目的最干净的代码(自己没有修改的代码) (3):用对比工具和Drvonly的代码比较,合入代码 技巧:先全局比较,原创 2017-05-24 14:58:04 · 3252 阅读 · 1 评论 -
android_N上关机闹钟铃声问题_设置的铃声和播放的铃声不一样
[DESCRIPTION] N上关机闹钟设置的铃声,在闹钟开机界面会恢复成默认铃声,即设置的铃声和播放的铃声不一样。 [SOLUTION] 1、如果将设置-->无障碍-->快速开机的功能打开,就不存在此问题。 2、如果不打开快速开机,将走google原生的开机流程,google在N上新增了FBE的加密机制,因为mediaprovider没有BO原创 2017-04-19 14:01:30 · 1958 阅读 · 3 评论 -
预置GMS包后,关机闹钟失效
[DESCRIPTION] 操作步骤:手机有预置GMS包设置一个2分钟后的闹钟,关机等待闹钟响 现象:时间到,闹钟不响 [SOLUTION] 关机闹钟功能是我司自己做的feature,google default是没有的。安装GMS包以后,若替换为了google的deskclock,那么是没有关机闹钟这个功能的。原创 2017-04-19 13:54:11 · 419 阅读 · 1 评论 -
非运营商定制项目如何客制化自己的开关机动画、开关机铃声
[Description]此方案供非运营商定制项目客制化开关机动画与开关机铃声[Solution]一、开机动画:1) 制作bootanimation.zip。制作方法举例如下: 分别创建名为“part0”和“part1”的文件夹以及一个名为“desc.txt”文件。“part0”中存储动画的第一阶段的资源图片,“part1”存储第二阶段的资源图片,注意图片为png格式。原创 2017-04-19 13:51:21 · 328 阅读 · 0 评论 -
GMS应用引起待机电流偏高分析
GMS应用引起待机电流偏高分析如下:同样的Android版本,同样的GMS版本都插入中国移动或者中国联通sim卡,打开数据连接手机第一次开机(否则恢复出厂设置)然后开始测试登录Google账户和不登录Google账户情况下的GMS应用耗电情况 最后发现两台测试机都会因为GMS应用在有数据网络且无法连接Google Serve原创 2017-04-28 11:48:31 · 1197 阅读 · 0 评论 -
GMS应用首次登陆闪退,第二次正常
GMS应用首次登陆闪退,第二次正常Ø 闪退问题先Check log中是否收到PACKAGE_CHANGED的广播Ø 查看sys log,Google Maps有发生package changed,这是由于客户的Maps版本比较旧,开机后联网情况下会自动从server升级造成process kill,属于正常的行为。关键log如下:§ 08-03 16:09:04.865原创 2017-04-28 11:44:45 · 1231 阅读 · 0 评论 -
Play Store无法正常连接解决
无法登陆Google账户,提示与Google服务器通信时出现问题 解决方式如下: Ø 查看log,重点检查下面4个相关属性值是否存在非法字符:•[ro.product.name]: [XX]•[ro.product.board]: [XX]•[ro.product.model]: [XX]•[ro.product.device]: [XX]Ø 请原创 2017-04-28 11:42:53 · 7741 阅读 · 0 评论