自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

卓越之路

工作总结,专项学习及总结

  • 博客(182)
  • 资源 (11)
  • 收藏
  • 关注

原创 爬虫实现以及相关python工具包

使用python实现爬虫,各工具包之间的逻辑关系

2024-10-09 10:43:40 528

原创 爬虫、RPA、人工智能、八爪鱼RPA的关系

爬虫、自动化、人工智能、八爪鱼RPA之间的关系,展现其发展逻辑

2024-10-03 13:02:52 154

原创 信道、频段、带宽、mesh组网

mesh组网相关技术

2024-09-28 16:50:09 118

原创 dos后台运行指定程序

第一个引号中的内容是新命令行窗口的标题,由于我们不需要标题,所以写一对空引号。:将标准错误(2)重定向到标准输出(1),这样错误也不会显示在屏幕上。将在后台运行,不会显示任何窗口。如果需要运行的是一个不同的程序,只需将。在DOS环境下,要在后台运行一个指定的软件,可以使用。命令,并将输出重定向到NUL设备,从而隐藏输出窗口。:将标准输出重定向到NUL设备,即丢弃所有输出。:启动一个新的命令行窗口运行指定的程序或命令。例如,如果你想要在后台运行一个名为。替换为相应程序的路径和名称即可。

2024-09-25 10:37:12 267

原创 鸿蒙系统编译方式

鸿蒙系统三种编译方式:hb、build脚本、hpm

2024-05-13 19:37:07 1421 1

原创 鸿蒙设备开发准备

鸿蒙硬件开发入门介绍,包括文档梳理、智能硬件选择和购买。

2024-05-09 18:58:38 1191

原创 初认识鸿蒙

华为官网相关鸿蒙的资料归纳。区别HarmonyOS和openharmony系统。

2024-05-09 09:38:12 795

转载 ubuntu 20.04 通过 sshfs 共享文件夹到 windows

使用sshfs搭建和samba同样功能的远程文件夹共享。安装 sshfs 后,默认可以通过 ssh 共享服务器上文件夹,不再需要额外设置。

2023-06-01 14:12:35 1135

原创 反编译apk分析问题

1.使用apktool反编译使用apktool反编译apk获取apk中的资源文件2.jadx-gui打开apk使用jadx-gui打开apk,查看代码code3.确定错误提示字符串在错误界面找到可查找的字符串信息4.在apk反编译出来的资源文件中查找5.根据查找的字符串id在代码中查找6.根据显示字符串的位置,分析上下文逻辑...

2022-03-19 21:49:53 395

原创 系统性能分析与优化

1.性能分析理论2.可操作性分析从资源角度分析,有CPU、GPU、内存CPU:比较底层,一般情况先更多的是受限于内存。google也提供有CPU优化方式,深入系统之中,对于普通开发着来讲,相对透明,需要更专业的知识。可以不考虑,有芯片方案方优化即可。分析问题可用top命令查看系统cpu状态GPU:有硬件加速。涉及不多,不做赘述,一般也和内存有很大关系内存:如论是...

2021-10-22 14:48:05 3124

原创 (1)网络-发展历史及核心协议的发展历程

诞生 于冷战期间,起源于美国军方,发展行对成熟后,交予大学及商业机构,开发出民用网络。核心协议发展ARPANET(ARPA网)最初的军事研究使用的网络,网络交换的核心是使用专门的小型计算机执行消息交换,专门的计算机被称为接口信息处理器(IMP)。IMP间使用电话线连接,同时期还有英国、法国等国家发展不同类型的计算机网络。NPC(网络控制协议)随着网络的发展,互联的趋势增强。基于互联的需求,发展出了“数据包交换”的数学理论,使用数据包交换成为计算机之间通过网络通信的基...

2021-09-20 15:59:09 1962

转载 python-执行命令(一)

一、os.system方法在子终端运行系统命令,可以获取命令执行后的返回信息以及执行返回的状态。执行后返回两行结果,第一行是结果, 第二行是执行状态信息,如果命令成功执行,这条语句返回0,否则返回1。import osprint(os.system('date'))由于python3默认采用了UTF-8编码,而WIN8的CMD窗口采用的是GBK编码,导致了编码不同。但是,如果简单的通过encode(‘gbk’)之类的方法,不能解决根本问题。尤其是当我们根本不是使用print命令来输出,而是控

2021-05-12 08:48:05 1863

原创 UML diagrams

一、基础语法1.1 元素关系1.2 port一个类和其他类或自身的part进行交互的交互点。Port点提供对外的interface和需要的interface1.3 part类的一个属性,属于组成类中的一员,当类销毁,part也销毁。在UML2.0,part用虚线表示时,不是组成的一员,只是实例属性。1.4 connector是类的一个特性,属性是特性的实例。用于连接port和part,也可以连接port上的provide interface和require interface。1.5

2021-04-22 17:42:36 586

原创 Wi-Fi联盟概览

Wifi频谱Wifi的项目连接方面应用技术及关系Wi-Fi认证Wifi有很多认证项目,包括基本功能以及性能优化。上面列出来的,Wi-Fi联盟都可以认证。可以在联盟官网查找相关认证的产品并购买。联盟链接:https://www.wi-fi.org/wifi联盟官网...

2021-04-22 16:49:19 432

原创 shell 给自己发送信号并接受处理

在Android上测试#获取自身进程号self_pid=$$echo self_pid: ${self_pid}catch_test=0function self_kill() { echo "------------self_kill" #给自己发送信号,信号值为10,可以使用kill -l在linux系统查询支持的信号 kill -s 10 $self_pid}# 处理信号的函数function onSelfKill(){ echo "-----------onSelfK

2021-04-21 12:37:50 560

原创 (3)Android test

1. 概览2. 调试2.1 概览2.2 过去调试信息2.3 诊断native crash2.4 评估性能

2021-04-21 10:06:30 142

原创 (2)Android Source官网

Android Source官网:https://source.android.google.cn

2021-04-21 09:38:07 1207

原创 (一)Android官网概述

Android开发相关技术网站梳理及重点关注章节梳理。熟悉官网资料与技术,在实际开发中有很大帮助,很多客制化放在,在Android原生技术中已经提供。使用好Android,熟悉光网资料很有必要。

2021-04-21 08:48:09 565

原创 selinux-sepolicy配置

一、概念1. 运行模式Selinux有两种运行模式:Permissive和Enforcing。未明确配置权限,当访问时默认权限是拒绝。为方便开发调试权限配置,单个domain可设置为permissive模式,permissivedomain。 语法格式Selinux依赖于标签来匹配操作和策略,标签决定什么是允许的,套接字、文件和进程都在selinux中有标签。 Selinux决策基于分配给这些对象的标签和定义它们如何交互的策略,label的格式:user:role:type:m...

2021-01-21 14:18:54 5846 3

原创 Android10 wifi AP功能

wifi AP功能1.概述2.wifi Ap功能在应用层开发3.配置信息系统时序图4.startTethering时序图1.概述随着网络的广泛应用,广大用户对网络使用的便利性有了更高的要求。为了方便网络的使用,在一些有固定网络信号的设备上,有共享网络的需求。因此,Android实现了三种方式的网络共享(tether):usb 通过usb连接,可以把有网络的设备网络信息通过usb连接线传输给连接的设备蓝牙 网络信息通过wifi天线发送,实现类似wifi的无线网络wifi本篇文章重点说明wifi

2020-11-25 18:30:29 3834 5

原创 Android系统稳定性及性能

单元测试:https://developer.android.google.cn/training/testing性能优化:https://developer.android.google.cn/topic/performance

2020-09-15 09:38:38 1365

翻译 正确理解内存回收log信息

当系统发生内存回收,会有logcat信息。那么如何正确理解内存回收信息呢?有两种类型的回收信息log:虚拟机时代的log和ART时代的log虚拟机时代的log每次产生GC时间,log格式如下:D/dalvikvm(PID): GC_Reason Amount_freed, Heap_stats, External_memory_stats, Pause_time示例:D/dalvikvm( 9050): GC_CONCURRENT freed 2049K, 65% free 3571K/9

2020-09-13 20:03:28 1608

原创 app:app启动总结(3)

app启动分为三大部分:launcher至zygote进程接收到启动app消息zygote进程创建子进程,子进程调用ActivityThread的main函数app进程从main开始至启动完成launcher至zygote进程接收到启动app消息launcher启动app和启动一个activity调用接口一样:startActivity,在执行过程中,AMS根据activity栈状态,决定是否通过zygote进程创建一个新的app进程zygote创建子进程和调用app mainzygote

2020-09-03 17:42:04 179

原创 app:activity生命周期-onCreate->onResume(2)

可参考博文Android Activity生命周期是如何实现的:https://www.jianshu.com/p/27d06a6b7007zygote进程创建app进程后,调用app的入口函数main(AactvityThread的main)开始,至调用完成app的activity的onResume。时序图分为两部分:app main的流程app运行过程的主要流程app main流程体现app的运行框架:体现开始和结束app运行过程的主要流程体现app进程和system_serve

2020-09-03 16:56:30 469

原创 app:从launcher启动app(1)

参考博文Android Activity生命周期是如何实现的: https://www.jianshu.com/p/27d06a6b7007从launcher桌面图标启动app,进入app进程。

2020-09-03 16:42:03 325

原创 AMS: native crash处理

system_server启动过程会建立一个socket,其他进程出现crash,debuger进程会把收集到的信息发送给AMS中的crash处理线程。 // file: private void startOtherServices() { final Context context = mSystemContext; VibratorService vibrator = null; IStorageManager storageManager

2020-09-03 14:26:09 351

原创 AMS: 启动launcher(3)

参考博文app 启动流程:https://www.jianshu.com/p/8a1a29073c44主要跟进了主流程,旁支末节可以根据主流程按需分析。

2020-09-02 18:06:26 393

原创 AMS:启动(2)

第一部分: 创建AMS对象及启动服务// file: frameworks\base\services\java\com\android\server\SystemServer.javaprivate void startBootstrapServices() { ... // Activity manager runs the show. traceBeginAndSlog("StartActivityManager"); mActivityMan

2020-09-02 17:50:43 260

原创 AMS:类图(1)

AMS中有很多类,类之间的关系呢?非完全的类图,把常见类列出。

2020-09-02 16:10:33 324

原创 system_server:启动流程

涉及源码android-8.0.0_r1\frameworks\base\services\java\com\android\server\SystemServer.javaandroid-8.0.0_r1\frameworks\base\core\java\android\app\ActivityThread.javaandroid-8.0.0_r1\frameworks\base\core\java\android\app\ContextImpl.javaandroid-8.0.0_r1\fra

2020-09-02 15:46:38 790

原创 app_process: 总结(6)

概述app_process是由frameworks\base\cmds\app_process编译而来,是启动java世界的入口程序。在开机过程中,经由app_process启动的进程有:zygote进程system_server进程zygote进程作用启动system_server进程,也即system_process裂变app进程,为每个app其他socket事务处理zygote三个部分zygote运行分为三个主要部分:1、app_process创建虚拟机,设置虚拟机属性

2020-09-02 11:54:30 1626

原创 app_process: zygote处理socket消息请求(5)

涉及源码android-8.0.0_r1\frameworks\base\core\java\com\android\internal\os\ZygoteConnection.javaandroid-8.0.0_r1\frameworks\base\core\java\com\android\internal\os\Zygote.javaandroid-8.0.0_r1\frameworks\base\core\java\com\android\internal\os\ZygoteServer.jav

2020-09-01 16:18:10 473

原创 app_process: zygote启动到system_server(4)

涉及源码android-8.0.0_r1\frameworks\base\core\java\com\android\internal\os\ZygoteInit.javaandroid-8.0.0_r1\frameworks\base\core\java\com\android\internal\os\ZygoteConnection.javaandroid-8.0.0_r1\frameworks\base\core\java\com\android\internal\os\Zygote.java

2020-09-01 15:15:31 266

原创 app_process: zygote启动(3)

涉及源码android-8.0.0_r1\system\core\rootdir\init.rcandroid-8.0.0_r1\system\core\rootdir\init.*.rcandroid-8.0.0_r1\frameworks\base\core\java\com\android\internal\os\Zygote.javaandroid-8.0.0_r1\frameworks\base\core\java\com\android\internal\os\ZygoteInit.ja

2020-09-01 14:16:03 531 9

原创 app_process: 运行一般java可运行程序(2)

概述app_process作为工具,运行java程序。执行流程主要文件android-8.0.0_r1\frameworks\base\core\java\com\android\internal\os\RuntimeInit.java这个流程相对较少,不做赘述,时序图基本完全展示流程,并不是主流程跟踪。...

2020-09-01 11:09:19 685

原创 app_process: 启动java进程(1)

涉及源码Android\android-8.0.0_r1\frameworks\base\cmds\app_processAndroid\android- 8.0.0_r1\frameworks\base\core\jni\AndroidRuntime.cpp概述app_process是Android系统中一个重要的编译出来的可执行文件。该执行文件在开机过程中负责启动Android核心的进程zygote和system_server。app_process也可以用来运行可执行的java程序。主要流

2020-09-01 10:31:36 2211

转载 UML序列图总结(Loop、Opt、Par和Alt)

序列图主要用于展示对象之间交互的顺序。序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。序列图中涉及的元素:生命线:生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线代表一个类的特定实例。2. 同步消息发送人在它继续之前,将等待同

2020-08-27 15:57:32 22995 1

原创 Android6.0手动制作U盘升级包

解压命令:unzip update.zip或者使用windows下的压缩工具打开压缩文件,删除不需要的文件1.修改system文件删除system目录下其它文件只保留build.prop文件,然后需要升级的文件对应进行更新。如果是更新apk也先要进行签名。2.修改updater-script脚本文件。\META-INF\com\google\android\updater-script修改模板如下,getprop(“ro.product.device”) == “rk3288” || abor

2020-07-22 16:36:36 1188

翻译 使用Lint检查提高代码质量

使用Lint检查提高代码质量1、概述2、代码中使用标记2.1 概述2.2 在工程中使用标记2.3 一些标记的使用2.3.1 Nullness标记2.3.2 资源标记2.3.3 线程标记2.3.4 值约束标记2.3.5 权限标记2.3.6 返回值标记2.3.7 CallSuper标记2.3.8 自定义标记类型2.3.9 Keep标记2.3.10 代码可见性标记1、概述开发app,除了通过单元测试确保app满足功能需求,通过lint检查确保代码没有框架上的问题也很重要。使用lint工具,可以找到框架上设计较

2020-07-20 18:32:21 3473

原创 路由器

2020-07-17 10:02:55 142

iperf_test.rar

device端切换配置,pc端使用python脚本自动适配命令测试

2021-05-15

selinux权限配置指南.pdf

根据Android selinux官方文档,结合实践,总结梳理切合实际开发的sepolicy配置文档

2021-01-21

Android systrace运行需要的资源

在windows命令行运行systrace,需要安装python2.7.x工具,如果windows支持pip工具,安装其他工具会方便很多。该资源包括python2.7.x软件及pip安装包

2020-12-17

MonkeyTest2.0.tar.gz

脚本可配置抓取不同log,方便Android开发抓取log;脚本使用shell语言编写,在实践中已使用

2020-02-29

flushcache.rar

Android系统运行一段时间后,kerel缓存会占用很大内存,可以通过主动释放,而不触发oom。脚本提供了设置不同水线,触发释放缓存

2020-02-29

射频卡文档及fm17550设备开发代码

射频卡协议ISO14443中文板 doc\pdf格式文件;fm17550 rfid设备的驱动代码,经实际测试可用,代码仅实现typeA协议及仅获取卡的uid

2019-11-22

蓝牙总结.zip

工作中,Android系统蓝牙开发的一些总结,包括学习资源、系统集成驱动、调用流程等。

2019-10-03

design_patterns.zip

在linux上运行的24中设计模式编码及可执行文件

2019-10-03

svn命令再封装

再封装svn命令,查看文件状态和上传文件更方便

2017-01-14

性能优化工具

介绍apk开发中性能优化工具,如Lint、TraceView、UI优化分析、内存泄露分析(MAT)等工具,工具的使用均有实例分析.pdf

2015-11-16

空空如也

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

TA关注的人

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