Android Phone
深圳之光
进入“沉浸”状态的流体验是提供效率的唯一方式
MTK手机专家,高通软件系统修改工程师
安卓工程师,熟悉Linux下编程,熟悉GIT工具,java;目前主要从事Recovery,安卓系统升级,Settings,Launcher,SytemUI等修改,framework工程师,驱动与上层之间交互的工作。
GMS认证测试+修改
CTA 修改
MDM功能研发
展开
-
Android 11.0在 Launcher 上添加时钟 widget
<appwidget screen="0" x="0" y="2" packageName="com.android.deskclock" className="com.android.alarmclock.DigitalAppWidgetProvider" spanX="4" spanY="2" />这个文件的解析过程在 DefaultLayoutP原创 2022-06-13 19:28:19 · 1042 阅读 · 2 评论 -
按键出现两个键值的问题分享
adb shell input keyevent 192输出两个keyCode 192 和23 。,这个23是 哪里来的 ?key BUTTON_5 { base: fallback DPAD_CENTER}后面经过群里的兄弟提示是组合键,后面发现 下面两个地方有定义\frameworks\base\data\keyboards\Virtual.kcmframeworks\base\data\keyboards...原创 2021-11-01 17:25:55 · 546 阅读 · 0 评论 -
android 9.0 制作差分包失败问题
log信息如下: 8192 8192 (100.00%) move //system/etc/security/cacerts/23f4c490.0 9781-9782 (from 467354-467355) 4096 4096 (100.00%) move //system/etc/security/cacerts/559f7c71.0 9764 (from 467352) 8192 8192 (100.00%)原创 2021-10-25 11:02:25 · 3077 阅读 · 0 评论 -
android 11.0 wifi密码保存的位置
下面是保存的路径,需要修改各种权限才可以读取/data/misc/apexdata/com.android.wifi/WifiConfigStore.xml<?xml version='1.0' encoding='utf-8' standalone='yes' ?><WifiConfigStoreData><int name="Version" value="3" /><NetworkList><Network><W原创 2021-08-24 09:14:37 · 6019 阅读 · 1 评论 -
Settings里面的Android.mk增加JAR 包
LOCAL_STATIC_JAVA_LIBRARIES := \ android-arch-lifecycle-runtime \ android-arch-lifecycle-extensions \ guava \ jsr305 \ ini4j \ settings-logtagsinclude $(BUILD_PACKAGE)include $(CLEAR_VARS)LOCAL_PREBUILT_STATIC_JAVA_LIBRARI...原创 2021-08-17 15:52:24 · 273 阅读 · 0 评论 -
Android设置中“强行停止”设置某个APP
packages\apps\Settings\src\com\android\settings\applications\appinfo\AppButtonsPreferenceController.java把下面的包名增加一下就可以了@VisibleForTesting void updateForceStopButton() { if (mDpm.packageHasActiveAdmins(mPackageInfo.packageName)||"com.rscja.h...原创 2021-08-05 14:37:40 · 1172 阅读 · 0 评论 -
Android 11.0 设置默认Launcher的方法
不好的方法,修改frameworks/base/core/java/com/android/internal/app/ResolverActivity.java ,修改这个地方,有个问题,会弹窗然后在消失,用户体验不好。好的方法,修改Provision,然后在用roleManager.addRoleHolderAsUser(roleName, packageName, flags, user, executor, callback);的方法去处理默认值不好的方法diff --git a/.原创 2021-05-24 14:23:26 · 6990 阅读 · 4 评论 -
android 11.0 增加控制状态栏和导航栏的接口
增加控制状态栏和导航栏的接口,代码如下 .../statusbar/NavigationBarController.java | 6 +- .../phone/NavigationBarFragment.java | 9 +- .../statusbar/phone/PhoneStatusBarView.java | 7 +- .../systemui/statusbar/phone/StatusBar.java | 3...原创 2021-03-29 16:27:41 · 2702 阅读 · 0 评论 -
android 11.0增加安装白名单的接口
以下部分是增加安装白名单的接口,如果不在白名单,就无法安装,另外增加白名单部分由我同时开发APP 去做了。--- device/qcom/qssi/system.prop | 1 + .../PackageInstallerActivity.java | 81 +++++++++++++++- .../server/pm/PackageManagerService.java | 94 ++++++++++...原创 2021-03-29 16:24:41 · 1449 阅读 · 0 评论 -
android 11.0 高通 增加home,back,recent控制接口
直接上代码了。就是增加home,back,recent控制接口。参考某个大佬的修改,自己增加到android 11.0上面去了做法就是 隐藏具体的按钮,来实现控制。diff --git a/device/qcom/qssi/system.prop b/device/qcom/qssi/system.propindex 75b4fcdbd0..ba732ed1eb 100755--- a/device/qcom/qssi/system.prop+++ b/device/qcom/qssi.原创 2021-03-29 16:20:41 · 841 阅读 · 0 评论 -
android 9.0 增加设置的一级菜单
增加一级菜单。diff --git a/packages/apps/Settings/AndroidManifest.xml b/packages/apps/Settings/AndroidManifest.xmlindex fc29128..60124d9 100755--- a/packages/apps/Settings/AndroidManifest.xml+++ b/packages/apps/Settings/AndroidManifest.xml@@ -1768...原创 2021-02-03 15:34:27 · 1153 阅读 · 2 评论 -
android 9.0 代码动态去掉下拉快捷键,重启生效
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java@@ -44,6 +44,8 @@ import com.android.systemui.qs.tiles...原创 2021-01-27 10:07:00 · 277 阅读 · 1 评论 -
android 9.0 去掉设置里面的wifi,蓝牙,数据流量设置开关
C66 优化MDM功能,去掉设置wifi,蓝牙,数据开关的显示diff --git a/packages/apps/Settings/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java b/packages/apps/Settings/src/com/android/settings/connecteddevice/AdvancedCo...原创 2021-01-26 17:04:54 · 1271 阅读 · 0 评论 -
android 9.0 动态修改开机动画保存的路径
需求:客户要求开机之后,自己手动修改开机动画,并且重启 恢复出厂设置,都不会是修改的动画还原回刷机的动画。初始做法:把开机动画保存在data分区,然后开机的播动画的时候,去播放。后面发现有概率不播放这个动画,去播放原来刷机的动画。进一步发现是,data分区开机动画播放的时候没加载到。然后各种想办法,都没用。最终做法:后面和OMD商量找到/mnt/vendor/persist/ 这个路径也可以播放动画,经过N次+权限之后,动画播放正常。会长的代码修改如下:...原创 2021-01-12 14:53:27 · 2457 阅读 · 1 评论 -
android 9.0 后台录音,不限制1分钟
录音SoundRecorder默认情况下,进入后台和锁屏是会暂停录音的,有时候我们希望进入后台和锁屏后仍然可以录音,那就需要对录音SoundRecorder做出相应的修改。 根据现象,我们第一时间应该考虑的是从生命周期出发,因为进入后台后,录音就停止了,猜测应该是在onPause或者是onStop中做了什么处理,通过查看SoundRecorder.java 中onPause和onStop中的逻辑确实是做了处理,具体修改如下:一、修改SoundRecorder.java,android/...原创 2020-11-12 16:21:57 · 3501 阅读 · 0 评论 -
android Q 增加IMEI 接口
android Q 上获取不到IMIE了,但是我们 产线仍然需要这个功能,就给平台的APP开发组一个接口做法很简单,就在setting下面增加下面一个setting属性的值,然后让APP 去读取。package com.android.settings;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import an...原创 2020-11-04 09:11:47 · 404 阅读 · 0 评论 -
android 10.0 合入GMS 说明
这里只说明如何合入marline部分,文档如下:Mainline Implementation Guide Android Q Contents Integrating Mainline module release packages Integrating Mainline in Settings © 2019 Google LLC. All Rights Reserved. No express or implied warranties are provided for ...原创 2020-09-16 11:08:32 · 2275 阅读 · 0 评论 -
android Q 首次开机默认值adb调试设定
这里主要是USB 默认不要打开,如果要打开就设置成1就行了。首次开机生效,后面重启不影响代码如下,测试10.0是OK 的。diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/SystemBars.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/SystemBars.javaold mode 100644new .原创 2020-09-14 10:39:50 · 655 阅读 · 0 评论 -
系统关闭GPRS数据流量和 GPS的方法
直接上代码 public void onReceive(Context context, Intent intent) { mContext =context; mTelephonyManager = TelephonyManager.from(context); Log.e("ShellSettingsBroadcastReceiver","232action: "+intent.getAction()); if (intent.getAction()...原创 2020-08-17 10:25:06 · 454 阅读 · 0 评论 -
在设置里面增加关闭和打开GPS ,数据流量的接口
commit 9fc9ca69fb16aa9da42435010974a8d176c0def8Date: Fri Aug 14 15:04:10 2020 +0800 增加打开关闭GPS/数据流量的广播diff --git a/frameworks/base/services/core/java/com/android/server/am/BroadcastQueue.java b/frameworks/base/services/core/java/com/androi...原创 2020-08-14 15:23:57 · 275 阅读 · 0 评论 -
android 9.0 修改默认流量警告值
/frameworks/base/core/res/res/values/config.xmlconfig_networkPolicyDefaultWarning 改成需要的默认值NetworkPolicyManagerService.java经过调试笔者确定mNetworkPolicy是在CONNECTIVITY_ACTION_IMMEDIATE广播接收器中实现初始化的。具体的动作都在ensureActiveMobilePolicyLocked()方法中完成的。当设备第一次运...原创 2020-07-27 18:52:08 · 606 阅读 · 0 评论 -
android 9.0 10.0 修改默认字体大小
参考别人的代码,直接修改arrarys.xml和Configuration.java的默认值是没有效果的,也没overlay的文件。后面想到,这个默认值是存储在Settings.System.FONT_SCALE,那就直接存储在这里面好了。重新编译代码之后生效。代码如下diff --git a/frameworks/base/core/java/android/content/res/Configuration.java b/frameworks/base/core/java/an..原创 2020-06-30 10:58:01 · 1470 阅读 · 1 评论 -
[STS]失败测试项 java.lang.AssertionError: Device *IS* vulnerable to CVE-2019-10533
android.security.cts.StagefrightTest#testStagefright_cve_2019_10533 fail:java.lang.AssertionError: Device *IS* vulnerable to CVE-2019-10533at org.junit.Assert.fail(Assert.java:88)at org.junit.Assert.assertTrue(Assert.java:41)at org.junit.As...原创 2020-06-16 10:30:05 · 790 阅读 · 0 评论 -
根据文件名称修改安卓默认的蓝牙接收文件地址
记录下,如何修改安卓默认的蓝牙接收地址。当文件名是自己需要的文件名的时候,就改变接收的路径。--- a/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppReceiver.java+++ b/packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppReceiver.java@@ -52,8 +52,8 @@ import com.a...原创 2020-06-15 10:48:38 · 921 阅读 · 0 评论 -
增加系统的KEYCODE_CLEAR 功能,清除当前输入的一行内容
花了好几天时间,一直在PHW里面修改,死活不行。。后面发现只要在EditText里面复写下KEYCODE_CLEAR的内容就可以了上代码如下 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { Log.e("EditText", "onKeyDown KeyEvent=" + event); if (event.getKeyCode() == KeyEvent.KEYC..原创 2020-05-25 16:42:55 · 603 阅读 · 0 评论 -
android 9.0 增加实体按键的按键声音,以及增加按键声音的开关
diff --git a/frameworks/base/api/current.txt b/frameworks/base/api/current.txtindex 240da7e..0af343b 100755--- a/frameworks/base/api/current.txt+++ b/frameworks/base/api/current.txt@@ -22252,6 +22252,7 @@ package android.media { field public stat.原创 2020-05-20 19:29:01 · 1205 阅读 · 0 评论 -
【android】几种模拟按键、屏幕点击的方法,模拟清除一行输入内容的功能
模拟按键:1、 new Instrumentation().sendKeyDownUpSync(int keycode); 发送keycode,down,up都会发送一遍2、newInstrumentation().sendKeySync(newKeyEvent(KeyEvent.ACTION_DOWN, int mKeycode) ;发送keycode,可以指定发送down,或者up模拟屏幕点击3、newInstrumentation().s...原创 2020-05-18 10:52:29 · 1325 阅读 · 0 评论 -
android 9.0 进入recovery 修改为按电源键显示菜单
如果是原生就是 按住电源 +音量键现在修改成只要按下电源键可以进入L版本进入recovery mode 会出现小机器人界面需同时按volume up & power 才能进入菜单,如何改为像KK以前版本,直接按power 进入菜单[SOLUTION]1.alps/bootable/recovery/Ui.cppkey_long_press(false),key_down_count(0),enable_reboot(true),...原创 2020-05-15 09:41:21 · 1475 阅读 · 0 评论 -
android 9.0 给差分包签名的命令 以及脚本的语言解释
给差分包签名的命令java -Xmx2048m -Djava.library.path="out/host/linux-x86/lib64" -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/chengwei_releasekey/releasekey.x509.pem buil...原创 2020-03-25 10:38:21 · 898 阅读 · 0 评论 -
文件管理器没 自动刷新问题
现象:插入OTG U盘 之后,文件管理器没自动刷新出来,需要退出进入才刷新。分析:发现是下面的两个广播没有 Action: "android.intent.action.MEDIA_MOUNTED" Action: "android.intent.action.MEDIA_UNMOUNTED"分析这2个广播发送的地方X:\p80_cts\P80_M...原创 2020-03-19 13:37:50 · 951 阅读 · 0 评论 -
android 9.0 新增失败GTS 中的 fail 项目
下面第1个问题的分析,是测试机构找了第三方的高手帮忙分析的,解决是我自己找代码解决的。我只能知道是和General DRM error 相关的内容,但是无法从log分析到具体某种东西导致,PlayReady 其实是微软的一种多媒体播放技术,和安卓配套使用的,高通默认代码是打开的,需要ODM彻底关闭,我们合作的ODM 没有关,导致的问题。playReady相关介绍https://bl...原创 2020-02-27 09:10:24 · 1566 阅读 · 0 评论 -
androdi 9.0 P版本 CTS 又出现问题了。。
arm64-v8aCtsAppTestCases Test Result Details android.app.cts.ActivityManagerMemoryClassTest#testGetMemoryClass fail java.lang.NullPointerException: Attempt to invoke vi...原创 2020-01-02 15:22:22 · 792 阅读 · 1 评论 -
安卓7.0 安兔兔 作假修改
之前修改的没有记录,今天又问了一圈同事啊。。。\frameworks\base\core\java\android\widget\TextView.javapublic void append(CharSequence text, int start, int end) { if (!(mText instanceof Editable)) { ...原创 2020-01-02 14:48:06 · 1804 阅读 · 5 评论 -
androdi 9.0 P 高通平台的log 工具
高通平台的logkit工具,有一个apk,在我的资源里面去下载。。1分。需要加如下的配置+++ b/vendor/qcom/proprietary/prebuilt_HY11/target/product/msm8953_64/Android.mk@@ -2587,6 +2587,17 @@ LOCAL_SRC_FILES := ../../.././target/...原创 2019-12-30 13:54:28 · 2137 阅读 · 3 评论 -
Camera FOV Calibration fail问题的解决
操作步骤。。。CameraCamera FOV Calibration利用A3 纸无缩放打印calibration-pattern.pdf 目标文件, 同时将它挂在墙上。calibration-pattern.pdf 目标文件的地址如下:https://static.googleusercontent.com/media/source.android.com/zh-CN//compat...原创 2019-12-30 10:05:55 · 2121 阅读 · 1 评论 -
高通平台,双卡改单卡的问题
此修改主要是要满足GMS认证需求。修改三个地方,才可以通过GMS认证的要求,否则VTS 会报错,SIM卡相关的都会报如下错误arm64-v8aVtsHalRadioV1_1Target Test Result Details VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setCarrierInfoForImsiEncryption...原创 2019-12-30 10:00:33 · 2194 阅读 · 2 评论 -
android 9.0 中 VTS 中关于 key的测试fail项 VtsHalGatekeeperV1_0Target
Suite / Plan VTS / vts Suite / Build 9.0_R10 / 5774513 Host Info Result/@start cw (Linux - 4.15.0-72-generic) Start time / End Time Wed Dec 25 14:42:35 CST 2019 / Wed Dec 25 14:4...原创 2019-12-27 09:31:42 · 2594 阅读 · 1 评论 -
按键代码修改 记录
增加按键,需要修改以下代码,搜索F10 modified: frameworks/base/api/current.txt modified: frameworks/base/api/system-current.txt modified: frameworks/base/api/test-current.txt m...原创 2019-12-20 21:35:43 · 333 阅读 · 0 评论 -
android 9.0 GMS 修改google 语音助手需求-- EEA版本需求
对于EEA版本的需求 应该是按HOME出花瓣的现象的.代码也同步到我的下载资源里面,需要的可以下载,对比过去,会快一点From dbc202e769d3c3e9f0c30124d2857770fa85ab41 Mon Sep 17 00:00:00 2001From: Lance Chang <jinwoong@google.com>Date: Wed, 05 Jul ...原创 2019-12-13 09:05:19 · 1520 阅读 · 1 评论 -
androdi 9.0 P版本 CTS 常见问题表格
测试项目 结果 详细原因 解决方案 arm64-v8aCtsAccessibilityServiceTestCases Test Result Details android.accessibilityservice.cts.AccessibilityGestureDispatchTest#te...原创 2019-12-11 10:28:17 · 7847 阅读 · 0 评论