自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android及系统架构目录结构介绍

Android1.系统架构android系统架构一共分为四层:简单的翻译版本Linux内核(Linux Kernel)Android运行在linux kernel 2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的。Linux 内核是硬件和软件层之间的抽象层。

2016-11-09 11:46:44 786

原创 【认证相关】FTA

FTA测试相关流程以及问题分析

2023-02-01 15:28:34 1020 1

原创 Android系统目录预置media文件

在处理Android平台的项目时,遇到客户提出的要求预置一个MP4类型的视频文件在系统目录。经过参考一些文档,处理方案如下:一、将媒体文件拷贝在out目录方法类似预置第三方appAndroid.mkLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optionalLOCAL_POST_PROCESS_COMMAND := $(shell mkdir -p $(TARGET_OUT)/m

2022-03-24 16:35:59 4175

转载 时间使用12小时制,下拉状态栏和锁屏时间格式“上午”或“下午”显示

diff --git a/frameworks/base/packages/SystemUI/res-keyguard/values/strings.xml b/frameworks/base/packages/SystemUI/res-keyguard/values/strings.xmlold mode 100644new mode 100755index 2d08350..dafa277--- a/frameworks/base/packages/SystemUI/res-keyguard/.

2022-01-21 17:53:05 862

原创 关于9.0后添加桌面小部件问题

客户要求在9.0系统添加桌面时钟小部件,本以为只需要在xml添加相应的appwidget属性就可以,但是添加之后发现桌面并没有添加成功。结果发现是因为这个项目使用了packages下面的launcher3并且对应的是go的布局,有个关键属性讲小部件的部分给屏蔽掉了。packages\apps\Launcher3\go\src_flags\com\android\launcher3\config\FeatureFlags.javaGO_DISABLE_WIDGETS该属性默认是为ture,改为

2022-01-21 17:50:25 434

原创 Android 第一次开机速度优化

现在很多Android项目都需要预装很多apk。主要在/system/app,/system/priv-app/,/system/vendor/app等目录下。预置很多应用的结果就是,第一次开机的时候systemService.java 会调用PackageManagerService.java对这几个目录下的apk多dexopt的优化,生成oat文件。apk越多,首次开机的时间也就越长,导致第一次开机需要5-6分钟,不利于用户体验。对于这些应用,我们可以对其进行odex优化:一、在dev.

2022-01-20 10:28:10 3502

原创 默认关闭充电,锁屏,触摸等提示音

锁屏和触摸提示音的设置可以直接修改defaults文件。改1为0或true为false。a/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml+++ b/vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml@@ -75,7 +75,7 @@ <string n

2022-01-20 10:07:26 3003

原创 Android 去掉设置中item显示

Settings中的item大部分都是通过Preference(key)进行添加的,所以要删除某些item只需要在displayPreference()方法中进行removePreference操作即可。每个单独的item都由独立的PreferenceController进行处理和显示。例如:去掉设置中声音里面的勿扰功能路径:vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/notific

2021-12-28 10:12:41 374

原创 Android 9.0 去掉主界面or应用列表上面的Search显示

一、修改launcher主界面的search修改路径:packages/apps/Launcher3/res/layout/search_container_workspace.xml--- a/alps/packages/apps/Launcher3/res/layout/search_container_workspace.xml+++ b/alps/packages/apps/Launcher3/res/layout/search_container_workspace.xml@@ -2

2021-12-28 10:05:37 554

原创 Android 下拉菜单列表客制化处理

修改下拉菜单列表内的快捷设置。修改路径:vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml该目录可以客制化在子项目的overlay中。--- a/alps/device/along/a17_meilan/overlay/vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml+++ b/alps/device/a

2021-12-28 09:56:01 255

原创 Android 9.0 去掉Launcher 界面搜索应用框

需求:去掉launcher 中全部App界面上面搜索应用框修改位置packages\apps\Launcher3\src\com\android\launcher3\allapps\AllAppsContainerView.java在 onFinishInflate() 中添加一行 mSearchContainer.setVisibility(View.GONE);@Overrideprotected void onFinishInflate() { super.onFinish

2021-12-16 11:24:06 2038

原创 AndroidManifest配置文件中的属性(view滑动卡顿)

关于部分AndroidManifest中部分属性会影响到view等布局异常的问题。application标签下的:android:allowBackup="true" :Android API Level 8及以上android系统为应用程序中的数据提供了备份和回复功能。用户可以通过adb backup和adb restore来对应用程序的数据进行备份和回复,这可能会带来一定的安全风险。android:supportsRtl=“true”:这个api是17(也就是Android4.2)以后才有的。声

2021-11-29 10:44:17 219

原创 Android R 版本客制化处理合集 (一)

NFC (Enabler\Reader\TapPay)vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/mediatek/nfc/MtkNfcEnabler.java@@ -45,6 +45,10 @@ public class MtkNfcEnabler implements SwitchBar.OnSwitchChangeListener { private QueryTask mQueryTask = null

2021-11-29 10:34:18 632

转载 Android 拨号盘应用源码分析

工程依赖关系com.android.dialer是主工程依赖于com.android.contacts.common工程和com.android.phone.common工程com.android.contacts.common又依赖于com.android.phone.common工程和com.android.common工程另外一些support包也作为链接工程被引入,以上代码均取自google源码关键类DialtactsActivitycom.android.dial

2021-11-17 14:47:02 1890 1

转载 Android 系统重启原因分析

重启原因分类1.上层造成重启system_server被杀watchdog重启重要线程阻塞2.kernel造成重启空指针非法地址3.kernel watchdog造成重启,原因不确定内存原因nand驱动log查看步骤及关键字1. 重启后的kernel.log或misc/cmdline.log在log最前面,会有很长的一段,如:initrd=0x85500000,0x204229 apv="td860-user 4.1.2 MocorDroid4.1....

2021-06-11 15:34:22 1184 1

原创 Android 如何在上层自定义IMS_UA

处理项目问题是遇到要求修改IMS User-Agent的一个需求,发现该字段是在modem中预制的。下面是在上层对该问题的处理方案:--- a/alps/vendor/mediatek/proprietary/packages/services/Ims/src/com/mediatek/ims/ImsService.java+++ b/alps/vendor/mediatek/proprietary/packages/services/Ims/src/com/mediatek/ims/ImsSe

2021-05-20 15:54:16 373 1

原创 Android R 版本SystemUI下拉长按报错

错误日志:2021-05-14 16:39:35.643 2730-8048/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #3 Process: com.android.systemui, PID: 2730 java.lang.RuntimeException: Can't create handler inside thread Thread[AsyncTask #3,5,main] that has not called Loop

2021-05-15 09:45:58 553 2

原创 Android 监听数据库的改变

在搬砖时,大部分软件架构都会对数据库进行操作。本文记录的是如何对数据库进行监听。监听SMS数据库为例:监听短信数据库的变化,添加删除修改,变化的时候会回调onChange方法import android.content.ContentResolver;import android.database.ContentObserver;import android.net.Uri;/** * 建立数据库观察者 */public class SmsDatabaseChaneObser

2021-05-07 16:46:10 644

原创 Android Q 版本自动连接指定wifi

需求: 进入wifi范围自动对该wifi进行连接。Android 版本: Android Q方案: 通过SSID匹配,然后对wifi info进行解析,再进行连接。代码:diff --git a/alps/frameworks/opt/net/wifi/service/java/com/android/server/wifi/ScanRequestProxy.java b/alps/frameworks/opt/net/wifi/service/j...

2021-04-23 18:12:16 698

原创 信号强度(RSSI)知识整理

为什么无线信号(RSSI)是负值答:其实归根到底为什么接收的无线信号是负值,这样子是不是容易理解多了。因为无线信号多为mW级别,所以对它进行了极化,转化为dBm而已,不表示信号是负的。1mW就是0dBm,小于1mW就是负数的dBm数。弄清信号强度的定义就行了:RSSI(接收信号强度)Received Signal Strength IndicatorRss=10logP,只需将接受到的信号功率P代入就是接收信号强度(灵敏度)。[例1] 如果发射功率P为1mw,折算为dBm后为0dBm。[例

2021-03-03 15:45:39 7423 2

原创 Android 信号格客制化问题处理

[AndroidQ]信号强度客制化代码位置:NR(5G) CellSignalStrengthNr.java updateLevel() LTE MtkSignalStrength.javaupdateMtkLteLevel() WCDMA/UMTS CellSignalStrengthWcdma.java updateLevel() TDSCDMA CellSignalStrengthTdscdma.java updateLevel() GSM C..

2021-01-19 11:16:30 1893 1

原创 Android Q版本如何实现关机铃声的控制

案例:要求在静音或振动模式下开机铃声禁止播放版本:Android Q版本(Android 10)因为之前添加开机铃声时是在vendor下面进行的处理,所以以下代码也是在vendor进行的处理path:vendor/mediatek/proprietary/operator/frameworks/bootanimation/MtkBootanimation/BootAnimation.cpp if (status)@@ -538,7 +549,24 @@ bool BootAnim

2020-12-30 17:37:17 330

原创 Android Q版本实现自动连接WiFi

如何做到自动连接配置wifi:例:台湾运营商要求自动连接运营商的免费wifi。开始对wifi加密之类的不是很了解,通过查阅一些资料发现很多方法都不是很适用于Q版本。所以要自己来搞了。问题方案如下:path:alps\frameworks\opt\net\wifi\service\java\com\android\server\wifi\ScanRequestProxy.java此文件是对wifi开启后对搜索到的wifi列表进行处理,我修改这个需求主要也是在这个文件中进行操作的。

2020-12-30 17:27:52 2341 10

原创 Android Q 版本开机铃声控制

在处理Android Q版本的客户需求时,遇到了一个问题如下:要求在振动或静音模式下禁止播放开机铃声。具体的解决思路并不是很复杂,解决方案如下:path:vendor/mediatek/proprietary/operator/frameworks/bootanimation/MtkBootanimation/BootAnimation.cpp // We have no bootanimation file, so we use the stock android logo

2020-12-28 09:47:21 721 2

原创 [Android Q] 紧急号码配置

[适用版本]Android 10(Q)及以后版本[配置方法]从Android Q开始,google提供了新的紧急号码配置方法(packages/services/Telephony/ecc),同时MTK还支持通过ecc_list.xml配置紧急号码,所以从Android Q开始可以有两种方法配置紧急号码:方法1:使用Google eccdata配置紧急号码(详细方法请参考packages/services/Telephony/ecc/README.md)NOTE: Becau..

2020-11-23 16:36:09 1655

原创 【Phone ECC】紧急号码的管理及客制化方法

[AndroidVersion]Android 5.0/5.1 (L)Android 6.0(M)Android 7.0(N)Android 8.0(O)[DESCRIPTION]L及之后的版本紧急号码Customer的部分改成了在XML文件中来配置,文件的路径: alps\vendor\mediatek\proprietary\external\EccList。 EccList文件夹中会包含ecc_list.xml,以及与运营...

2020-11-23 16:27:46 588

原创 UT(XCAP) 参数说明

LR12A modem branch 上UT(XCAP) 参数配置在 modem code :CustomUtConfig.cpp (apps\module\utinterface\custom\src)中AP EngineerMode 中提供菜单设置相关 UT 参数用作临时验证,不必修改代码工程模式配置路径如下:CustomUtConfig.cpp中,UT(XCAP) 配置参数说明如下:IDX_BOOL_MEDIA_TAG Support <media&...

2020-11-10 11:58:44 2157

转载 如何规范你的Git commit?

简介: commit message应该如何写才更清晰明了?团队开发中有没有遇到过让人头疼的git commit?本文分享在git commit规范建设上的实践,规定了commit message的格式,并通过webhook在提交时进行监控,避免不规范的代码提交。背景Git每次提交代码都需要写commit message,否则就不允许提交。一般来说,commit message应该清晰明了,说明本次提交的目的,具体做了什么操作……但是在日常开发中,大家的commit message千奇百怪,中英

2020-08-28 10:26:07 186

转载 mac os操作系统安装

准备工作(工具包及镜像在后边)一个8G以上的U盘(有的U盘标的是8G,实际只有7.X,实际容量小于7.5G的会失败)、MacOS镜像、Transmac、分区工具(DiskGenius)、EasyUEFI(企业版的系统要下载EasyUEFI企业破解版)、EFI文件(网上能找到机子机型的最好,如果没有自己配一个或者试试系统带的)、Clover Configurator(四叶草助手,用来配置config)。网络安装相对来说,网络安装的好处是操作比较简单,但是可能会受到网速等问题的影响,每次安装都需要下

2020-08-28 10:21:07 1247

转载 Win8 纯净版安装详细教程

目录1.需要准备的工具2.下载纯净系统的安装包3.使用软通牒把系统写入u盘:4.设置bios,把系统的启动项第一优先级设置为U盘5.开始安装系统6.其他设置1.需要准备的工具1.大于8G的u盘一个2.软碟通软件软碟通软件地址:链接:https://pan.baidu.com/s/1Ftz_cOIoS8Aj24qm7GUdhA 提取码:q9er3.如果你的硬盘是一个新的硬盘的话你还需要对这个硬盘进行分区,推荐一个分区软件:diskgenius可...

2020-08-28 10:13:54 1281

转载 VMware Ubuntu安装详细过程

不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少大公司都要求熟悉在linux上开发,因此从个人职业发展有必要去多了解一下linux。(博主网上查了一下,现在大部分服务器安装的系统主要有:ubuntu server、centos、suse linux enterprise, redhat linux等)于是今天博主就在虚拟机上安装了Ubuntu,并分享

2020-08-28 10:10:23 151

原创 git stash 的使用

通常由于项目需求的复杂程度,本地修改文件比较多,但是有时还需要pull,造成一些代码误还原,从而导致量产软件浪费没必要的时间。最后通过其他文章学习到了git stash指令,在此记录下!常用git stash命令:(1)git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。(2)git stash list :查看stash了哪些存储(3)git stash show :显示做了哪些改动..

2020-08-28 10:05:37 6232

转载 【MTK】flashlight驱动部分调试

1.闪光灯校准使用adb命令的方式在正常开机环境下做flash 校准,步骤如下:-1- adb shell setprop z.flash_ratio 1-2- 全黑环境下,请将手机固定,对着白墙10cm,固定。-3- 点击拍照,然后手机会自动打闪多次(其中不要任何人员靠近,避免影响光源)。-4- 手机停止拍照以后,存储空间内将生成eng_all.txt,eng_code.txt,fwb_code.txt等文件。校准数据检查没问题后,-1- 将eng_code.txt中的engT

2020-08-14 10:34:53 1760

原创 Android Q 非go版本关于QSB的处理(GoogleSearchbox)

近期做了一个Q 非go版本的软件,发现了一个问题,由于非go所使用的Launcher是GMS包里面的SearchLauncher,按照正常的方法在gms.mk中添加SearchLauncher进行编译,编译OK后发现QSB所处位置在屏幕下方也就是host区域。按照使用美观话最好放在屏幕的上方,下面是处理该问题的方法。修改目录:vendor/partner_gms/apps/SearchLauncher/Android.mk--- a/alps/vendor/partner_gms/apps/S

2020-08-05 09:54:31 1577 10

转载 Android 10(Q)GMS(cts/vts/gts)认证总结

作者:Darkt链接:https://www.jianshu.com/p/f33e76cfc093来源:简书

2020-07-22 17:19:54 6816 5

原创 Android Q版本Launcher相关布局

在处理Android Q版本需求时,发现GMS版本所需求的Launcher默认修改地方变了,在此记录下。path:vendor\partner_gms\apps\GmsSampleIntegration\res_dhs_min\xml\partner_default_layout.xml<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2017 Google Inc. All Rights Reserved. --

2020-07-11 16:58:57 872

原创 基于Android Q 修改默认音量等级

在之前的一些android版本中,修改默认音量是修改:path:frameworks\base\media\java\android\media\AudioService.java /// M: modify the default stream volume @{ public static int[] DEFAULT_STREAM_VOLUME = new int[] { 4, // STREAM_VOICE_CALL 8, // STREA

2020-07-11 16:53:33 1813

原创 【CTA】MTK平台过PWS认证Fail问题

由于新的定制类项目要求过PWS认证,基于Android Q,遇到了两个问题,具体如下。1.收到第一条信息后,不将弹窗点掉,进而发送第二条信息,此时显示的是第二条信息的弹窗,然后将第二条信息点掉后发现第一条信息的弹窗没有关闭。回复:对于该问题MTK确实是这么设计的。因为紧急警报就是希望通知到位,user不点确认,无法确定是否已被阅读,所以不会被新的遮盖然后消失。并且也没有法规明确需要新的到了直接关闭旧的。没有强制要求改,但是也看了下代码。如有需要处理,代码修改如下。--- vendor/me

2020-07-01 11:45:00 641

原创 【CTA】CTA认证要求打开日历时提示联系人权限确认

国内过CTA认证时,要求打开日历时提示联系人权限确认,这里所说的联系人权限不是系统默认赋予的权限提示,而是需要新加一个权限提示内容,让用户进行确认。平台:Android P(9.0)修改代码如下:vendor/mediatek/proprietary/packages/apps/Calendar/res/values-zh-rCN/strings.xml--- a/alps/ve...

2020-04-11 10:10:57 832

原创 SMR certification

(一)对于SMR certification(只更新安全补丁,不允许有任何软件的改动)(二)只需要测试如下2个模块和STS(STS工具的版本必须和 软件安全补丁日期一致):—— CTS: run cts -m CtsSecurityTestCases—— GTS: run gts -m GtsOsTestCases—— STS: run sts-engbui...

2019-12-12 10:27:29 2311

Linux下adb 的完美安装步骤

Linux下完美安装adb,亲测经验,无不兼容等其他问题。 如有其他问题请留言。 thanks!

2020-08-05

添加虚拟按键隐藏控制

隐藏虚拟按键: 添加一个小按钮控制虚拟按键的隐藏和显示,在虚拟按键添加音量控制也是如此!

2019-01-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除