- 博客(16)
- 收藏
- 关注
原创 zygote进程(三)
注:此文章主要基于展锐Android R代码加上学习总结自IngresGe大佬的分析zygote进程由*.rc文件配置启动zygote重启条件(grep “restart zygote” 查找):inputflinger 进程被杀 (onrestart)servicemanager 进程被杀 (onrestart)surfaceflinger 进程被杀 (onrestart)netd 进程被杀 (onrestart)zygote进程被杀 (oneshot=false)system_ser
2021-07-16 13:22:43
631
原创 kthreadd和init进程的启动(二)
注:此文章主要基于展锐Android R代码加上学习总结自IngresGe大佬的分析文章目录一、kthreadd二、init三、Init 进程入口3.1 ueventd_main3.2 FirstStageMain3.3 SetupSelinux3.4 SecondStageMaininit.rc文件解析一、kthreadd/bsp/kernel/kernel4.14/kernel/kthread.cint kthreadd(void *unused){ struct task_struct *
2021-07-16 13:05:53
568
原创 idle的启动(一)
注:此文章主要基于展锐Android R代码加上学习总结自IngresGe大佬的分析简要流程图:kernel启动init从源码解析bsp/kernel/kernel4.14/init/main.chead.S–>汇编指令跳转到此函数start_kernel(),调用rest_init()开启init和kthreadd进程asmlinkage __visible void __init start_kernel(void){ //各种初始化 ... /* Do the rest n
2021-07-16 10:44:34
614
原创 读取miscdata分区的简要分析
读取miscdata分区的简要分析一. 简单使用,使用AIDL的方式调用读写的方法1. 添加aidl接口,注意保持包名类名的一致[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M5ZOAXRP-1623748847856)(./images/1623398799791.png)]package com.sprd.engineermode;interface IPhaseCheck { boolean writeOffsetString(int offset,
2021-06-15 17:27:06
1705
4
原创 clearAnimation的简要流程
clearAnimation的简要流程自己做了一个关于Animation动画的小游戏,出现了一些小问题,所以稍微看了一下此流程: /** * Cancels any animations for this view. */ public void clearAnimation() { if (mCurrentAnimation != null) { mCurrentAnimation.detach(); ===> ①触
2021-06-08 09:38:48
482
原创 横竖屏切换引起的fragment恢复问题(InstantiationException)
横竖屏切换引起的fragment恢复问题monkey测试时出现的问题log:AndroidRuntime: FATAL EXCEPTION: mainAndroidRuntime: Process: com.android.settings, PID: 11889AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.sett
2021-06-03 17:29:12
1292
原创 开关机动画修改
开关机动画修改开关机动画:bootanimation.zip和shutanimation.zip1)命名。若是100张以下,命名从00或01开始。100以上,从000或001开始,以此类推(1,2,3…格式会导致动画乱序)2)新建两个文件夹,分别命名为folder1,folder2。一个txt文件desc.txt:320 480 25 ---- (1)p 1 20 folder1 ----(2)p 0 2 folder2 ----(3)(1)320x480 每秒播放25张图片(帧率
2021-06-03 10:49:52
128
原创 ubuntu安装使用Beyond Compare4
ubuntu安装Beyond Compare4 与破解下载http://www.scootersoftware.com/download.php安装sudo dpkg -i 安装包.deb破解1.进入目录cd ~/.config/bcompare直接删除所有的东西rm *2.输入key— BEGIN LICENSE KEY —GXN1eh9FbDiX1ACdd7XKMV7hL7x0ClBJLUJ-zFfKofjaj2yxE53xauIfkqZ8FoLpcZ0Ux6McTyNmO
2021-06-03 10:47:15
451
原创 通过Android源码对apk进行签名
apk签名使用工具命令找到签名工具android/prebuilts/sdk/tools/lib/signapk.jarout/host/linux-x86/framework/signapk.jar执行:java -jar signapk.jar platform.x509.pem platform.pk8 unsignDemo.apk signedDemo.apk或者直接在android源码编译环境执行java -jar out/host/linux-x86/framework/sign
2021-06-03 10:45:01
566
原创 Android.mk简要解析
Android.mk文件# 保存本地路径LOCAL_PATH := $(call my-dir)# 清除保存的变量信息 除了LOCAL_PATHinclude $(CLEAR_VARS)# 编译的资源文件LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, res)# 认证模式LOCAL_CERTIFICATE := platformLOCAL_MODULE_TAGS := optionalLOCAL_SDK_VERSION := cu
2021-06-03 10:35:30
160
原创 Android设置暗码简要流程
设置暗码1.Phone对暗码的简要处理流程路径:packages/services/Telephony/src/com/android/phone/SpecialCharSequenceMgr.javaphone中对暗码的处理/** * Handles secret codes to launch arbitrary receivers in the form of *#*#<code>#*#*. * If a secret code is encountered,
2021-05-25 10:02:09
2168
2
原创 peek 录制gif动画小工具
peek 录制gif动画小工具Ubuntu 18.04上安装peek方法sudo add-apt-repository ppa:peek-developers/stablesudo apt updatesudo apt install peek源码安装:git clone https://github.com/phw/peek.gitcd peekmeson --prefix=/usr/local builddircd builddirninja #直接从源代码运行./peek
2021-05-24 15:59:06
134
原创 WallpaperPicker2壁纸设置流程
WallpaperPicker2壁纸设置流程参考链接路径:alps/packages/apps/WallpaperPicker2初始化三个按钮,设置监听SetWallpaperDialogFragment#onCreateDialog public Dialog onCreateDialog(Bundle savedInstanceState) { ...mSetHomeWallpaperButton = layout.findViewById(R.id.set_home_wallpape
2021-05-24 15:51:48
1853
原创 RemoteViews设置属性
RemoteViewsRemoteViews常用于notification和小部件,由于无法获取其中控件,所以提供了一系列的set方法设置其中控件的属性点击查看更多API详情setImageViewIcon(int viewId, Icon icon)setImageViewResource(int viewId, int srcId)setInt(int viewId, String methodName, int value)setIntent(int viewId, String meth
2021-04-02 11:11:35
771
原创 linux上使用JNI
linux上使用JNI的小例子创建一个java文件HelloWorld.javaclass HelloWorld{ private native void print(); public static void main(String[] args){ new HelloWorld().print(); } static{ //System.loadLibrary("HelloWorld"); S
2021-03-23 14:20:18
510
原创 windons下基于Mirai+python的QQ机器人部署教程
windons下基于Mirai+python的QQ机器人部署教程配置环境java环境 使用openJDK 版本大于11,本人使用的11.0.2Python环境 瞎整一个就完事,本人装的Python 3.8.7下载启动器mcl,解压,启动,下载一些东西之后成功启动启动之后的文件目录:输入?可以查询一些功能尝试登陆,输入login yourqq yourpassword,出现以下情况还可能出现滑块验证,需要 下载mirai-login-solver-selenium将下载的jar文件
2021-02-13 11:18:22
2263
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人