自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(410)
  • 资源 (16)
  • 收藏
  • 关注

原创 汽车电子技术栈

1)汽车电子ISO14229(UDS诊断协议)ISO15756(CAN总线的汽车诊断协议UDS)A__UART(串口通讯)_B__MCU(单片机)_____CAN3)蓝牙/WIFI/RFC/无线/GPS/天线4)AP。

2023-09-19 11:10:46 193

原创 ADB底层原理

adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse/Android Studio中方便通过DDMS来调试Android程序,说白了就是debug工具。adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的android设备(如xiaomi手机)。它的主要功能有:运行设备的shell(命令行)管理模拟器或设备的端口映射计算机和设备之间上传/下载文件。

2023-09-18 14:44:32 988

原创 build.gradle配置文件详解

gradle-wrapper.properites:配置Gradle Wrappergradle.properties:配置Gradle的编译参数。settings.gradle:配置Gradle的多项目管理local.properties:一般用来存放该Android项目的私有属性配置,比如Android项目的SDK路径项目build.gradle:配置项目的整体属性,比如指定使用的代码仓库、依赖的Gradle插件版本等等模块build.gradle:配置当前Module的编译参数。

2023-09-15 15:00:05 6033

原创 Cordova简介

说明:一个移动框架,将HTML,CSS,JS封装为原生App(Hybird)优点:跨平台,利于移植、能利用HTML5的各种特性、快速开发,成本低缺点:不能使用设备的所以特性,执行速度慢、不像原生应用,与系统不协调、一次编写,处处调试Cordova在前端哪个地方初始化: index.html。

2023-08-07 10:51:14 184

原创 kotlin基础

val是一个只读变量,这种声明变量的方式相当于java中的final变量。一个val创建的时候必须初始化,因为以后不能被改变。var是一个可变变量,这是一个可以通过重新分配来更改为另一个值的变量。这种声明变量的方式和java中声明变量的方式一样。Kotlin 基础语法。Kotlin的简单样例。val和var的区别。val和var的区别。

2023-07-19 15:45:13 421

原创 安卓系统浏览器开发

1.在PackageManagerService.java中的构造函数结尾添加:setDefaultBrowser();用HTMLViewer浏览html页面,点击页面中的邮箱地址,打开邮箱应用。当系统存在多个浏览器时,如何预置某个浏览器为系统默认的浏览器?预置某个浏览器为系统默认的浏览器。预置某个浏览器为系统默认的浏览器。修改网页默认字体大小。

2023-06-05 14:11:32 1163

原创 安卓稳定性技术栈

5.gdb,objdump,addr2line,oatdump 工具使用。3.Class文件格式,dex文件格式,oat,art文件格式。4.压栈, 跳转,执行,返回:从汇编看函数调用。2.Android debuggerd 流程。4.dex2oat字节码转换成机器码流程。1.Android 平台信号机制。10. dlmalloc 机制。9. jemalloc 机制。10.GC机制以及Heap。2.Watchdog机制。5.input 输入机制。1.虚拟机art创建流程。8. elf 文件分析。

2023-05-11 14:59:56 716 1

原创 安卓系统软键盘初步分析

11-05 14:01:24.768 7991 7991 V InputMethodManager: onViewClicked: true11-05 14:01:24.768 7991 7991 D InputMethodManager: showSoftInput() view=androidx.appcompat.widget.AppCompatEditText{bd0acc9 VFED..CL. .F.P..ID 0,0-900,91 #7f0801e3 app:id/etd_placeh

2023-04-12 10:57:23 841

原创 Android Gradle plugin requires Java 11 to run.

高版本的Android Studio会报以上错误,按照以下方式可以解决。

2023-02-15 21:26:06 1123

原创 SurfaceFlinger详解

SurfaceFlinger的定义那么 Systrace 中,我们关注的重点就是上面这幅图对应的部分这四部分,在 Systrace 中都有可以对应的地方,以时间发生的顺序排序就是 1、2、3、4,下面我们从 Systrace 的这四部分来看整个渲染的流程。负责图像合成的核心模块是 负责图像合成的节奏和合成策略的分配。

2023-02-13 15:30:00 2318 1

原创 Android Studio搭建

一.安装Android Studio一.安装Android Studio下载地址:https://developer.android.google.cn/studio/最新版本:二.插件版本和Gradle的关系。

2023-02-06 14:53:49 400

原创 adb shell wm详解

wm overscan 100,200,300,400 // 设置显示区域,设置的值为举例边缘的像素数。wm size reset // 恢复设置前的分辨率。wm density reset // 恢复设置前的显示密度。wm size 1440x900 // 设置分辨率。wm density 320 // 修改显示密度。wm size // 查看当前的分辨率。wm density // 查看当前显示密度。wm size:查看和设置显示分辨率。

2023-01-29 16:26:18 737 1

原创 repo init详解

repo sync,这一步才是真正的从服务器把源码下拉的过程,repo相当与是执行了多个git,期间有一个git出问题,比如网络卡神马的就中断,然后就是重复repo sync。repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest是中国科学技术大学的镜像源。repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest是清华提供的镜像源。

2022-12-27 11:19:46 14492 1

原创 Android进程启动流程

系统启动流程中的一个关键的步骤,作为第一个进程,它被赋予了很多极其重要的工作职责,比如创建。这层中包含了支持整个系统正常运行的基础库,由于这些库多数都由。系统中非常重要,系统里面的服务都是在这个进程里面开启的,例如。设置的应用程序,如果这两个目录都找不到,就依次去根目录下找。,只要这些应用程序有一个启动了,其他就不需启动了。系统库、虚拟机运行环境、框架层组成,通过系统调用。另一方面也囊括了不少系统级服务进程的实现,是与。进程负责创建系统中最关键的几个子进程,尤其是。协议,意味着其下的所有驱动都应该开源,

2022-12-15 16:18:06 1400

原创 Android进程启动流程

但整体架构设计清晰。Android 底层内核空间以 Linux Kernel 作为基石,上层用户空间由 Native系统库、虚拟机运行环境、框架层组成,通过系统调用(Syscall)连通系统的内核空间 与 用户空间。对于用户空间主要采用 C++ 和 Java 代码编写,通过 JNI 技术打通用户空间的 Java层 和 Native层(C++/C),从而连通整个系统。这层中包含了支持整个系统正常运行的基础库,由于这些库多数都由C/C++实现,因此也被一些开发人员成为“C库层”,以区别于应用程序框架层。

2022-11-25 16:37:51 529

原创 dumpstate log总结

先从总体上了解dumpstate的结构,以至于不会迷失在log海当中.这个界面的代码在android\vendor\samsung\packages\apps\MSP\FactoryTest\ServiceModeApp\src\com\sec\android\app\servicemodeapp\app\SysDump.java。Log源码在android\frameworks\base\core\java\android\util\Log.java,看Log.i的实现。

2022-11-04 15:02:19 1740

原创 Android系统MK文件分析

说明:必须定义, 在app或package的Android.mk中必须给定值。可选定义,在app或package的Android.mk中可以也可以不给定值。不用定义,在app或package的Android.mk中不要给定值,脚本自动指定值。

2022-10-26 11:36:46 304

原创 安卓温升thermal介绍

Linux kernel有个通用的思想就是抽象分层,比如把该子系统所有资源和信息综合在一起的一层叫core层,不同的设备的操作叫device层,对设备的操作的屏蔽层叫driver层或者governor。thermal sensor驱动负责读取硬件温度sensor的温度,并传给thermal 子系统,thermal子系统将根据调控对象的温度,决定是否触发对应的冷却措施,如限制CPU最大工作频率,以及CPU打开的核数等,从而实现对系统的冷却。当然附带的也会产生一些使用温度控制设备的策略。

2022-10-21 11:01:26 2264

原创 MTK上传大文件

6.分三步,上传完毕后,在Shared history里面找到上传的那条,把 request id发给mtk即可。4.点击 Shared file。1.登录online。

2022-10-19 13:49:56 270

原创 Systrace抓取

Trace的X轴表示时间,Y轴以进程进行分组,进程组内是各个线程,可以收缩和展开。每个应用进程包含每个线程所包含的所有跟踪标记,包括基于启用跟踪类别的高级跟踪事件的层次结构。打开谷歌浏览器, 在Chrome浏览器的地址栏中输入 chrome://tracing,点击Load选择需要的trace文件即可。使用使用android自带的抓取trace的方法,这种方法适用于抓取长trace,最长支持30分钟,但是可能会影响性能。d.下拉状态栏点击“系统跟踪”图块,即可开始抓取,再次点击图块即可停止抓取;

2022-09-26 16:47:52 2839

原创 应用启动& 应用启动优化

一、了解冷热启动当启动应用时,后台没有该应用的进程(常见如:进程被杀、首次启动等),这时系统会重新创建一个新的进程分配给该应用。App进程存在,并且Activity对象仍然存在内存中没有被回收。可以重复避免对象初始化,布局解析绘制。场景就类似你打开微信聊了一会天这时候出去看了下日历在打开微信微信这时候启动就属于热启动。二、掌握应用启动流程在冷启动开始时,系统有三个任务。这三个任务是:1.创建应用进程。2.加载并启动应用。3.在启动后立即显示应用的空白启动窗口然后显示Activity。

2022-09-19 16:57:07 837

原创 Linux创建可执行脚本

是指此脚本使用/bin/bash来解释执行。是一个特殊的表示符,后面紧跟着解释此脚本的shell路径。bash只是shell的一种,还有很多其它shell,比如:sh,csh,ksh,tcsh等等。有时我们在Linux系统下要执行很多命令,我们可以将它写入到脚本当中,一次性执行玩成,省去许多手动录入的繁琐;所以,当source命令执行有问题时,bash继续执行下面命令。注:当source命令执行有问题时,bash继续执行下面命令。注:当source命令执行有问题时,sh不再往下面执行。

2022-09-09 13:59:56 1740

原创 Win10杀死进程方式

一.通过任务管理器一.通过任务管理器打开任务管理器如下图,选中你要杀死的进程点击”结束“

2022-08-23 15:11:25 9998

原创 Swap扩容

查看当前系统的大小有时候我们编译代码的时候会报这个错,提示因为Swap空间不足。

2022-08-22 10:57:18 1073

原创 乌班图分享文件夹

接下来,如果想让访问的用户能在共享的文件夹下创建和删除文件夹,请选中。a、 如果允许匿名访问这个文件夹请勾选“在文件夹共享设置窗格中,选中“”按钮以共享文件夹。

2022-08-18 11:32:12 643

原创 自定义View属性defStyleAttr与defStyleRes详解

defStyleAttr:这个是当前Theme中的一个attribute,是指向style的一个引用,当在layout xml中和style中都没有为View指定属性时,会从Theme中这个attribute指向的Style中查找相应的属性值,这就是defStyle的意思,如果没有指定属性值,就用这个值,所以是默认值,但这个attribute要在Theme中指定,且是指向一个Style的引用,如果这个参数传入0表示不向Theme中搜索默认值。应用属性的时候也需要注意属性的namespace。...

2022-08-15 17:12:48 786

原创 Fastboot刷机

讲到这里,我想说的是,既然recovery是一个小型操作系统并且有手机这样现成的设备,我们可以基于它做些有趣的事,比如移植网络协议及无线网络连接逻辑,然后开发一个命令行版的新浪微博客户端,这样就可以用自己改造的系统发微博了。BootLoader既然要做硬件初始化之类的,必然和硬件相关,所以它的代码并非通用的,不同的硬件需要不同的BootLoader代码,各大厂商可能都有自己的,并且加入开机画面之类的。这里要说的是,内核还没有加载,所以更谈不上多进程任务调度之类的概念,机器只是在顺序执行一条条的指令。....

2022-07-25 15:02:13 19540 1

原创 Vim详解

3.打开文件定位到指定行vimfilename+n比如想到第65行,输入vimfilename+65或者vim+65filename。2.命令模式下(没有输入i进行编辑前),ngg比如想到第86行,输入"86gg"或"86G"(这个不用按回车就直接定位到对应行了)1.命令模式下(没有输入i进行编辑前),n比如想到第65行,输入"65"按回车即可定位到65行。vim快速定位到某一行的几种方法和显示行号,定位匹配字符串,显示当前行信息的命令。......

2022-07-16 14:27:38 5551

原创 解决cherry pick提交报错问题

解决cherry pick提交报错问题

2022-06-22 10:19:28 3059

原创 Ubuntu卸载软件相关命令

dpkg -ldpkg -l | grep xxx # xxx为软件名称,例如 virtualboxdpkg-query -l *package-name* 例如 virtualboxdpkg -s package-name 例如 virtualboxdpkg --get-selections | grep virtualboxdpkg -L package-name ,例如 virtualboxsudo apt-get --purge remove xxx # xxx为软件名称,

2022-06-02 16:00:28 10617 1

原创 grep详解

最常用的就是和管道符结合,例如:ps -ef | grep dockergrep的语法格式:grep -option(参数) ‘word’(关键词) file(文本文件)grep参数:-a 不要忽略二进制数据。-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。-c 计算符合范本样式的列数。-C<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该.

2022-05-23 17:30:13 2454

原创 通过国家码切换默认输入法

/frameworks/base/packages/SettingsProvider/res/values/defaults.xmlomron输入法:<string name="default_input_method" translatable="false">jp.co.omronsoft.iwnnime.ml/.standardcommon.IWnnLanguageSwitcher</string>搜狗输入法:com.sohu.inputmethod.sogou/.

2022-05-20 16:48:44 581

原创 Ubuntu下如何用命令行运行deb安装包

安装sudo dpkg -i xxxx.deb #安装xxxx.deb软件包(其中-i等价于--install)卸载sudo dpkg -r xxxx #卸载xxxx软件包(软件名称可通过dpkg -I命令查看,其中-r等价于--remove)安装TeamViewer为例sudo dpkg -i teamviewer_15.29.4_amd64.deb报错如下:缺少依赖执行如下两步sudo apt --fix-broken install 一般是使用dpkg安装软件出现依赖或..

2022-05-17 10:52:14 6772

原创 ANR分析

1.什么是ANRANR即Application Not Responding,顾名思义就是应用程序无响应。在Android中,一般情况下,四大组件均是工作在主线程中的,Android中的Activity Manager和Window Manager会随时监控应用程序的响应情况,如果因为一些耗时操作(网络请求或者IO操作)造成主线程阻塞一定时间,那么系统就会显示ANR对话框提示用户对应的应用处于无响应状态。2.为什么会发生ANR一句话总结:主线程没有在规定的时间内,做完要做的事情,就会发生ANR。

2022-05-06 10:36:26 2695

原创 getprop 属性

使用adb shell getprop就可以从系统的各种配置文件中读取信息并把所有的信息都打印出来。而使用setprop命令就可以进行相对应的设置。adb shell getprop 查看机器的全部信息参数getprop net.eth0.dns1或者getprop net.eth0.dns2 查看DNSgetprop ro.serialno 查看机器的SN号getprop ro.carrier 查看机器的CID号getprop ro.hardware 查看机器板子代号...

2022-04-21 14:45:37 2347 1

原创 安卓耗电量测试

1.无线连接手机adb connect 192.168.1.82.清楚已有的耗电量数据adb shell dumpsys batterystats --enable full-wake-history3.设备耗电量数据重置adb shell dumpsys batterystats --reset4.寻找包名的uidadb shell ps |find "com.nuomi"以下是dos下出来的信息,u0_a445就是uid,需要去除下划线_, 即u0a445u0_a4.

2022-04-18 11:09:56 364

原创 Hierachy View使用

此文章主要是通过Hierarchy View来了解statusbar的具体结构体系一.如何打开Hierachy View首先在SDK/Tools文件夹下打开Monitor,按照如下操作打开Hierachy View。 StatusBarWindowView:状态栏根布局StatusBarWindowView继承了FrameLayout布局1)重写了onApplyWindowInsets(WindowInsets windowInsets)方法WindowI...

2022-04-15 11:35:27 591

原创 WMS白屏问题

找关键字:WindowManager根据log显示,是systemui.ImageWallpaper转态栏没有移除,导致桌面有一层白色图层,当点击桌面的时候,实际是点击systemui.ImageWallpaper,所以无响应.在设备白屏的时候抓取如下log:adb shell dumpsys window > Desktop\window.txtadb shell dumpsys SurfaceFlinger > Desktop\SurfaceFlinger.txt...

2022-03-30 17:13:18 312

原创 安卓系统开发笔记(三)

1.去除暗黑反色问题方法:DarkIconDispatcherImpl(applyDarkIntensity)StatusBarIconView(onDarkChanged)类:NotificationIconContainer(通知的管理类)statusbar\phone\StatusBarIconController.java(TintedIconManager/onIconAdded)(1)frameworks/base/services/core/java/com/a

2022-03-28 15:29:30 3247

原创 系统强制竖屏

关键方法相关链接:Android4.1 Rotation 小结_tianruxishui的专栏-CSDN博客_android:rotation案例分析在连接特定WIFI的情况下强制竖屏显示WifiNetworkDetailsFragment2.java WifiSettings2.java导包:import com.android.internal.view.RotationPolicy;在两个方法加入以下条件onResume()boolean locked = ...

2022-03-14 14:07:03 3154

IjkPlayerView源码以及androidx依赖包

安卓第三方视频播放软件:IjkPlayerView是一个基于ijkplayer的视屏播放库,可以用于播放本地和网络视频。在源码的基础上,我新增了androidx的依赖包

2020-11-09

Charles.zip

Charles.zip是Charles的3.9.2版本可执行文件,Charles是一种抓包网络数据的工具。 Charles 主要的功能包括: 1)截取 Http 和 Https 网络封包。 2)支持重发网络请求,方便后端调试。 3)支持修改网络请求参数。 4)支持网络请求的截获并动态修改。 5)支持模拟慢速网络。

2019-10-08

SecureCRT&SecureFX; Portable

SecureCRT&SecureFX; Portable的32位和64位的集合,它能用于通过SHH远程连接Linux系统

2019-01-18

高德地图官方SDK以及DEMO下载

高德地图官方的SDK包集合:所有功能都有包括3D、定位、搜索功能以及DEMO源码的下载...

2018-09-29

QQ登录依赖的jar包

腾讯官网下载的有关QQ登录所需的jar包。 有兴趣的可以看下我的文章:https://blog.csdn.net/xxdw1992/article/details/80631587

2018-06-09

Picasso jar包

1.在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题。  2.使用复杂的图片压缩转换来尽可能的减少内存消耗

2017-12-21

okHttpUtils

okHttpUtils工具类要用到的三个jar包,这里有相应的解释http://blog.csdn.net/xxdw1992

2017-12-08

svn2017版本64位

从TortoiseSVN官网下载的最新版本并且加入了中文改写器.

2017-12-08

微信Pay官方DEMO

官网的demo和和一些文档说明以及2个大牛的源码作品

2017-11-27

安卓自定义车牌录入编辑框

安卓系统设置车牌号码,通过自定义密码编辑器和自定义滚轮完成,自定义键盘(各省市缩写以及港澳牌照).

2017-10-23

本人的工具类集成APP

早些年从事安卓开发是自己封装的一些工具(包括微信/淘宝支付、微信/QQ登录、高德/百度地图、一些自定义控件)

2017-10-16

ChampionDragon Totally Resoure

本人在csdn之前所有资源的集合,我封装到同一个app当中。

2017-10-14

安卓自定义密码编辑器

主要是模仿微信和支付宝支付时输入的密码弹框,可以修改密码长度和背景框颜色,密码的可见与否,密码符号的修改

2017-10-14

微信支付官网DEMO

官网的demo和和一些文档说明以及2个大牛的源码作品.

2017-10-11

支付宝支付官方DEMO

1)修改了一下支付宝官方的demo.............. 2)里面还有支付宝官网自带的RSA签名验签工具和一些logo

2017-10-08

百度导航和地图,自定义权限

自己参照百度官方demo写的一些工具类,还添加了自定义权限和银联支付demo.如果帮助到你们,我也感到很高兴。

2017-09-22

空空如也

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

TA关注的人

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