自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 NA_SW

LOCAL_PATH:= $(call my-dir)PRJ_PATH:= vendor/tinno/product/$(MTK_TARGET_PROJECT)/$(PROJECT_NAME)#$(error $(LOCAL_PATH) ---- $(PRJ_PATH))$(warning --$(LOCAL_PATH) --$(PRJ_PATH) ---swww)ifeq ($(strip $(PRJ_PATH)),$(strip $(LOCAL_PATH)))include $(call a

2021-11-16 12:24:18 2502 1

原创 剑指Offer之----两个栈实现队列

问题描述 : "用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。"解决方案:详见注释.public class te { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); /** * 栈:先进后出 * * 队列:先进先出

2020-05-21 16:04:15 247

原创 Android Q SettingsIntelligence ---- Settings搜索框

基于Android Q的SettingsIntelligence源码使用命令adb logcat|grep "cmp",点击Settings下的搜索框,我们得到如下输出:04-17 13:38:13.690 1030 1451 I ActivityTaskManager: START u0 {act=android.settings.APP_SEARCH_SETTINGS pkg=com.android.settings.intelligence cmp=co...

2020-05-18 15:05:03 2346

原创 Android之简单记账功能Demo-----数据存储在本地

该Demo涉及到的知识点:SQLiteOpenHelper, ListView, AlertDialog,SharedPreferences等的使用,代码比较简单直接贴上代码:1)主界面的两个Button 入口package com.example.qz;import androidx.appcompat.app.AppCompatActivity;import android....

2020-04-27 16:27:58 920

原创 AndroidMainfest.xml中的meta-data属性

这个属性平时比较少用,稍微记录一下:1)AndroidMainfest.xml中声明如下 <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action....

2020-04-27 16:04:51 324

原创 BroadcastReceiver静态注册与动态注册的小细节

package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import a...

2020-03-25 12:11:27 462

原创 ConstraintLayout遇到的小错误

最新的Android Studio中创建的Activity默认使用约束布局--------ConstraintLayout.1) 在约束布局中添加Button控件后,发现xml飘红了!如图一所示:2)报错信息为:"This view is not constrained, it only has designtime positions, so it will jump to (0...

2020-03-24 19:10:38 857

原创 使用addr2line工具定位NE异常问题

一般碰到NE的异常需要通过addr2line把异常地址转成code文件和行号。在Linux环境下,我们可以直接使用命令直接定位。操作如下:1)遇到如下NE的Log输出:01-01 12:04:27.570097 1048 1048 F DEBUG : backtrace:01-01 12:04:27.570229 1048 1048 F DEBUG : #00 ...

2019-10-29 21:19:39 534

原创 如何获取SMSC

public static String getSmsCenterNumber(Context context,int slotIndex){ Log.d("shaowen"," getSmsCenterNumber slotIndex is "+slotIndex); String smscStr = ""; TelephonyMan...

2019-10-12 23:19:14 406

原创 如何获取手机恢复出厂设置时间点

此需求的准备工作大致如下:a,恢复出厂设置之后,还能不被擦除数据,只能考虑往NV里写数据。由于平台的差异,高通,MTK,展讯实现的方式不太一样,但大同小异;b,将时间点(数据)保存在文件,供上层读取;c,apk通过读取文件内容的方式取值。 通过如下代码,你可以了解到,如何读取文件的内容,如何将日期转换成long类型,如何将long类型转换成日期格式,如何获取当前系统所属的时区,如何计...

2019-10-11 23:36:12 2195

原创 String与StringBuffer的那些事----------剑指Offer旅程第一站

引入剑指Offer题目:题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。Java代码如下:public class Solution { public String replaceSpace(StringBuffer str) { StringB...

2019-05-30 22:28:42 204

原创 C语言之 #ifdef

范例1:Java中: if( 条件1){ 执行代码片段1 }else{ 执行代码片段1} 区分两种情况,在C语言中#ifdef 可以使用如下格式:#ifdef 宏1 //执行代码片段1#else //执行代码片段1#endif范例2:Java中: if( 条件1){ 执行代码片段1 }else if(条件2){ 执行代码片段2} else{执行代码片段3}...

2019-04-18 23:16:35 3213 1

原创 Android系统如何屏蔽应用发送的短信记录

偷偷在后台发送短信,并让用户无法感知,这种做法虽然&quot;鸡贼”,但是从技术角度上来说,值得我们探究一番。项目有需求的可以借鉴如下方法,业余者可以围观此种“鸡贼”方式是如何耗掉您一毛钱的短信费用,却让你毫无知觉的。MTK平台上如何过滤掉应用发送的短信记录?是否插入数据库是由MMS应用来负责的。...

2019-02-24 13:23:34 1568

原创 Android SDK 之uiautomatorviewer工具的使用

uiautomatorviewer用途:获取,分析Android UI控件的工具附:谷歌Uiautomator文档:http://android.toolib.net/tools/help/uiautomator/index.htmluiautomatorviewer工具路径:D:\android-sdk-windows\tools (位于sdk\tools\路径之下)使用uiauto...

2019-02-19 23:43:03 7842

原创 Android---odex与oat

什么是ODEX? APK中的classes.dex文件通过dex优化过程 将优化生成一个·odex文件 ,此文件可以加快软件的启动速度,减少对RAM的占用。因此首次开机(恢复出厂设置||刷机之后) ,如果先提取classes.dex出来(dex优化过程),开机的速度会明显提升。随之,如果对于低内存的手机来说,并不适合将所有apk的odex文件提取出来。正所谓鱼和熊掌不能兼得吧。 ...

2019-01-21 23:49:50 3767

翻译 sz——互联网公司

腾讯百度深圳分公司阿里深圳分公司大疆科技{Android开发工程师;1.本科及以上学历,具有一定的Android项目开发经验,工作年限不限;2.熟悉Android工作机制,具备扎实的JAVA编程基础;3.熟悉Android应用开发,如熟悉系统控件、动画、多线程、网络协议、数据库、XML/JSON解析等;4.代码风格良好,能设计出高效合理,易读易拓展的程序结构;5.加分项:具备Kotlin/C/C+...

2018-05-21 21:59:54 358

原创 ZenModeHelper.java 中三个规则选项翻译没有更新到切换的语言 MTK

前言:Android O中墨西哥的订单反馈切换成西班牙语 之后,设置-声音-“勿扰”偏好设置中的自动规则对应的字符串显示英文。 Go to Do not disturb option More settingsAuomatic RulesWeekend change to Fin de semanaWeeknight change to Semana ...

2018-05-12 17:11:39 526

原创 Python的环境安装导向

总:安装python解释器的三种环境:1)Linux ;2)、Windows; 3)、Eclipse插件1、python运行的文件类型:.pyc   .pyo(.pyc的优化)2、在windows下到官网上下载安装包即可(感觉安装包比较轻便点~)3、python是Linux的标配,可以直接打开命令行输入“python"即可。为了按Tab键可以补全。我们可以在linux下安装ipython:通过命令...

2018-03-19 22:43:14 347

原创 Android MakeFile + 预置apk

一、编译     1、**五个阶段**:词法分析、语法分析、语义分析与中间代码产生、优化、目标代码生成2、makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。3、makefile文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文...

2018-02-28 09:53:23 1060

原创 NVRAM的简单了解

每个项目,一般测试同事如果有过校准,都会有备份的参数文件。不必每台机器都去校准一遍,可以直接通过meta工具导进参数文件。    (通过meta工具导出参数的时候需要准备好bp***文件,这个文件一般位于项目烧录包中。tsds上的ftp路径)NVRAM逻辑数据项:透明数据元、线性固定数据元**(MTK提供的META工具的UpdataParameters项读出已校准好的参数,升完级/恢复出厂设置...

2018-02-28 09:46:41 9411

原创 MTK平台射频校准问题

生产线对每一个PCBA进行射频参数校准的必要性由于PCBA元器件之间的硬件偏差导致的射频接收发射参数的偏差GSM规范苛刻的射频指标要求,包括接收电平,发射功率,频率误差等。so~必须校准射频的参数。**射频校准原理和设置参考博客:**http://blog.csdn.net/chenyt2007/article/details/4399774手机的射频包括**接收机(GSM),发射机()和频率...

2018-02-28 09:44:29 5272

原创 MTK常见的死机问题

**死机现象与表现:** - **现象:**当手机长时间无法再被用户控制操作时,我们称为死机或者hang 机。  - **表现:** 1、用户操作手机无任何响应, 如触摸屏幕,按键操作等。 2、 手机屏幕黑屏, 无法点亮屏幕。 3、 手机界面显示内容和用户输入风马牛不相及。----------##软件层次的死机**一、当用户对手机进行操作时, 对应的数据流将是:**&gt;**HW Spage...

2018-02-28 09:42:52 1886

原创 如何使用StarUML画类图

此篇文档旨在介绍类图以及如何通过StarUML工具画类图。StarUML官网下载地址:http://staruml.io/download**什么是类图**  类图用于描述系统中所包含的类以及它们之间的相互关系,帮助简化对系统的理解。**类与接口的表现形式**矩形框: 它代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性...

2018-02-28 09:40:39 15326

原创 解决MTK平台开关机问题可能需要使用的工具集介绍

    当kernel发生异常时,会在重启后生成对应的db,用GAT的logviewer可以解开,如果是普通的KE或HWT,并且存在SYS_MINI_RDUMP或者SYS_COREDUMP,则可以借助gdb/crash进一步debug,否则只能查看log分析问题的可能性了。    #1、GAT (定位死机重启等问题发生的可能原因) - 在MTK官网上Tool下可以下载到对应的工具;  - 在L...

2018-02-28 09:38:18 2458

原创 Recovery.img-系统升级

Recovery.img-系统升级在V12bn 的机器上按住电源键+音量up 就可以进入Recovery 模式从上图中我们也可以看出来恢复出厂设置有如下选项:1)、Reboot system now: 重启手机2)、Reboot to bootloader:重启到Recovery 模式3)、Apply update from ADB:从ADB 进行更新4)、Apply update from ...

2018-02-12 09:45:29 4830

原创 Launcher 启动流程

Launcher 启动流程一、startOtherServices()............................................................................................................ 3二、systemReady().........................................

2018-02-12 09:44:46 472

原创 Android 开机动画分析

Android 开机动画分析本篇文档分为以下三个部分:一、基础知识二、bootanimation.zip三、开机动画流程源码分析注:Android 开机画面由三部分组成,第一部分在bootloader 启动时显示, 第二部分在启动kernel 时显示, 第三部分在系统启动时(bootanimation)显示(动画)。此篇文档主要分析第三部分。一、基础知识 何时启动Android 开机动画?S...

2018-02-12 09:44:13 1483

原创 Android 中的看门狗—Watchdog

Android 中的看门狗—Watchdog一、SystemServer 进程中初始化、启动看门狗..................................................................... 1二、AMS 实现接口Watchdog.Monitor.......................................................

2018-02-12 09:43:28 5710

原创 Kernel logo到Bootanimaiton显示之源码分析

Kernel logo到Bootanimaiton显示之源码分析问题的引入:在9010项目中发现一个问题:从kernel logo到bootanimaiton开机动画,中间会存在一个黑屏的时间,或长或短。长时间显示像是死机,短时间即类似界面间的跳转(优化后)。原因在于当Bootanimation绘画之前会有一个清屏的动作,具体的解决思路及方法在mediatek上有相关的,这里先分析一下这两个阶...

2018-02-12 09:42:39 1300 1

原创 Linux signal&coredump

Linux signal&amp;coredump 当进程发生崩溃时,kernel会以信号的方式通知进程,每个信号伴随着动作,比如产生coredump,或终止程序。ptrace用于跟踪调试进程的,通过ptrace可以获得目标进程的CPU寄存器,进程空间的任何内存内容。Signal 通过命令“kill -l可以查询所有的信号” 信号值及对应的处理动作: SIGHUP 1 终端挂起或者控制进程终止...

2018-02-12 09:41:16 670

原创 享元模式(Flyweight)

享元模式(Flyweight) 此篇文档分成两部分,一、通过一个简单的案例实现去理解此模式的精髓;二、介绍使用了享元模式的Handler消息机制—Message。 概念:使用共享对象可以有效的支持大量的细粒度的对象(细粒度对象:将业务对象加以细分,从而得到更加科学合理的对象模型)使用场景:系统中存在大量的相似对象;需要缓冲池的场景 享元模式图示. 根据图示,下面我们通过一个简单的案例实现理解模...

2018-02-12 09:39:25 237

原创 反编译

                                                                        图5                                                                                                     图4         

2018-01-30 09:58:46 410

原创 MTK开机LOGO图片的显示原理

MTK开机LOGO图片的显示原理一、图片的定义11.1、update脚本11.2、rules.mk脚本21.3、图片的宏定义cust_display.h(索引序列号)3二、LOGO图片显示的逻辑代码实现32.1、platform.c32.2、mtk_logo.h42.3、mt_logo.c4总结:5  以下

2018-01-12 15:27:25 4172

原创 SurfaceFlinger服务的启动

SurfaceFlinger服务的启动 SurfaceFlinger服务负责管理系统的帧缓冲区设备,并且负责渲染系统的UI,即各个应用程序的UI。因此,Android应用程序就需要通过Binder进程间通信机制来请求它来渲染自己的UI。 当用户对手机进行操作时,对应的数据流依次为:HW Spage、Input Driver、Input system、System l

2018-01-12 09:48:29 870

原创 SystemServer启动服务

 SystemServer启动服务 一、SystemServer.java/main()函数2二、run()函数3三、SystemServer进程启动的服务类型63.1、startBootstrapServices()63.2、startCoreServices()83.3、startOtherServices()9总结:10

2018-01-12 09:47:30 2319

原创 system_server进程分析

一、system_server的创建11.1、forkSystemServer()函数21.2、nativeForkSystemServer()的JNI层实现31.3、forkAndSpecializeCommon( ) 41.4、SetSigChldHandler()41.5、SigChldHandler5二、handleSys

2018-01-12 09:37:19 1979

原创 Zygote进程的分析

zygote进程的分析1、init.zygote32.rc32、app_main.cpp43、ZygoteInit.java54、registerZygoteSocket()65、startSystemServer()76、runSelectLoop()86.1、ZygoteConnection.runOnce()106.2、

2018-01-12 09:35:32 384

原创 恢复出厂设置

恢复出厂设置模式—擦除分区一、Android中的分区2二、恢复出厂设置32.1、recovery模式下的init.rc32.2、recovery.c(入口函数)3三、擦除data、cache分区5总结:5 恢复出厂设置最终会进入Recovery模式,擦除data、cache分区之后,系统重启,开始正常的启动流程。上层从点击事件开始

2018-01-12 09:28:22 6425

原创 init 进程的创建

ps : 以下源码基于MTK3710 图1、init一、init 创建过程Kernerl 启动分成两个过程:内核引导阶段、内核启动阶段。内核引导阶段对软硬件初始化结束后,会调用kernel/init 目录下main.c 文件中的start_kernel 函数开始进入内核启动阶段。在start_kernel 函数中会做一些初始化工作,例如初始化页地址、初始化软中断等,在此函数的最

2018-01-08 09:29:28 740

空空如也

空空如也

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

TA关注的人

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