自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wyzzgo的技术博客

尽量参考权威资料,如有疏漏欢迎指出

  • 博客(20)
  • 收藏
  • 关注

原创 来看看火爆全网的ChatGPT机器人写的武侠小说,我直呼内行!

看看火爆全网的ChatGPT聊天机器人写的武侠小说

2022-12-07 01:52:33 6513 1

原创 巧记硬链接与软链接

巧记硬链接与软链接

2022-08-08 00:35:18 1050

原创 程序中存储的已经是机器指令了,为什么还需要操作系统?

操作系统在程序执行时扮演什么角色呢?

2022-07-03 18:52:05 396

原创 巧记大小端字节序

快速记忆大小端字节序

2022-06-26 16:01:40 509

原创 解决支付宝包体积优化的遗留问题:运行时获取dexpc

本文解决了支付宝包体积优化方案遗留的一个未解决问题。1 问题背景1.1 安卓包体积优化精简安卓应用的包体积是提升其质量的重要手段之一。安卓应用的安装包(apk文件)中dex保存的是应用的代码,占有可观的体积。如果能够将这一部分的体积减小,那么无疑会有效地减小安装包的体积。dex中的debugitem主要保存着两类信息:1.方法的参数和局部变量信息。2.行号信息。删除debugitem后不会影...

2019-12-28 17:22:47 934

原创 你的程序为什么会崩溃?

准确地讲,标题应为“你的进程为什么会崩溃”。这篇文章不是教你找到进程崩溃的原因,所以看了这篇文章貌似对解决崩溃问题没什么帮助 (;¬_¬)这里思考的一个问题是:理论上,CPU遇到非法指令或非法数据等错误后,完全可以继续执行在这之后的指令,但是它为什么一定要崩溃?下面是我思考后得出的结果。进程崩溃是一种保护机制,是为了防止继续犯下更大的错误。比如说用户原本有10块钱,消费了1块钱,但是扣减...

2019-08-05 01:12:49 801

原创 实用的Android.mk用例

通过一个实例说明Android.mk的用法,四个module: add,sub,multi和div,分别对应四种编译方式:shared,static,prebuilt shared,prebuilt static.项目结构如图: 各个Android.mk内容如下:src/main/cpp/Android.mkinclude $(call all-subdir-makefiles)...

2018-07-14 14:40:03 754

原创 突破Android P(Preview 1)对调用隐藏API限制的方法

突破Android P(Preview 1)对调用隐藏API限制的方法一.概要本文基于对Android P(Preview 1)的源码分析,实现了三种绕过对调用隐藏API限制的方法,有效性均已得到验证,能够成功调用系统隐藏API。二.限制原理首先抛开Android P的具体实现过程,安卓系统要实现限制用户代码调用系统隐藏API,至少要做以下两个区分:必须区分一个Met...

2018-04-12 21:49:55 3702 1

原创 浅显理解Android的Matrix

Matrix就是一个从(x0,y0)到(x1,y1)的Map,也就是从原始点到结果点的映射.一个全新的(下称单位矩阵)Matrix映射结果为(x1=x0,y1=y0).单位矩阵Matrix调用post(pre)Translate(a,b)映射结果为(x1=x0+a,y1=y0+b).单位矩阵Matrix调用post(pre)Scale(sx,sy)映射结果为(x1=x0*sx,y1=y0*s

2018-01-21 13:14:09 319

原创 applicationId VS package

预备知识只有在使用Android Studio时才会存在applicationId,这个值一般写在build.gradle文件中.用Android Studio构建apk时,AndroidManifest.xml源文件和生成的apk中的AndroidManifest.xml会稍有变化.构建apk之前和构建apk之后applicationId和package的作用是会发生变化的,下面分别讨论之:

2017-06-21 23:01:59 393

原创 AndroidManifest.xml的意义

AndroidManifest.xml是一个什么文件?它是每个apk(zip)文件解压后根目录下的一个文件,每个apk都必须包含一个AndroidManifest.xml文件,且名字必须与此完全一致.为什么每个android应用都必须有一个AndroidManifest.xml文件?

2017-06-21 22:47:07 2452

原创 linux下的进程组会话作业的概念

进程组,会话,作业的概念 进程组是一个或者多个进程的集合; 会话是一个或者多个进程组的集合(一个会话中有一个前台进程组和零到多个后台进程组); 作业就是进程组,所以一个终端可以有多个作业

2017-03-27 22:01:21 604

原创 android从native启动java程序

从native启动/data/local/tmp/myapp.apk文件中com.myapp类的Main方法,

2017-03-27 21:32:35 669

原创 android的消息机制总结2

android怎样在非主线程中实现消息循环 有两种方法: 自己用代码实现:新启动一个Thread,在run方法中调用如下代码即可 ...Looper.prepare();...Looper mLooper=Looper.myLooper(); ...Looper.loop();

2017-03-17 23:05:13 608

原创 android的消息机制总结1

android为什么要使用消息队列模式(Looper,Handler,Message)? 这是一种异步机制,消息发送方不需要等到消息处理完成就可以直接返回. 当消息队列为空时能够阻塞等待,直到有消息时再处理.因为实际使用App时,大多数情况下需要等待用户输入(例如触屏事件).

2017-03-17 21:33:25 536

原创 nuwa总结

nuwa是什么?nuwa是一个开源的android应用热修复方案,通过替换存在bug的类,能够在不重新安装app的情况下,修复app存在的问题.

2017-02-17 15:13:29 2714

原创 Proguard的Keep使用方法

java代码存在互相引用的关系,构成一个网状关系.(个人理解)引用又分为两种:普通引用和字符串引用(例如反射,native方法等).而java代码的执行入口点必然是采用的字符串引用(例如main等方法),因为外部想要执行此代码必须知道一个明确的入口点名字..Proguard流程

2017-01-06 22:55:50 11609

原创 几种Dalvik Hook方案研究

Dalvik Hook的基本原理如上一篇文章所述,每个java方法在虚拟机内部都对应一个Method结构体(可以将JNI的jmethodID强转为指向此Method结构体首地址的指针得到),Dalvik Hook通常通过修改Method结构体内容实现.常见的两种hook思路:

2016-12-17 13:56:05 1805

原创 Dalvik虚拟机java方法执行流程和Method结构体分析

Method结构体是啥? 在Dalvik虚拟机内部,每个Java方法都有一个对应的Method结构体,虚拟机根据此结构体获取方法的所有信息.Method结构体是怎样定义的?

2016-12-14 21:57:35 2000

原创 Java ClassLoader总结

ClassLoader的终极目标是干啥? 将一串二进制数据传递给虚拟机,虚拟机据此构建一个Class对象为啥要有ClassLoader这个东西? 可以更加灵活地控制类加载的过程(比如可以在运行时加载类从而实现程序的热更新) 可以对class文件进行加密 ClassLoader的特点 全盘负责机制和双亲委托模型

2016-11-06 17:51:12 798

空空如也

空空如也

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

TA关注的人

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