自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【Android】声控注入点击事件实现系统级“吃鸡”辅助

这里我们从“吃鸡”说起。 绝·地·求·生 游戏的画面效果超级强悍,像我这样只玩掼蛋小游戏的三不青年(不抽烟,不喝酒,不玩网游)都被吸引到了 近年来掀起了一股“吃鸡”热潮,更衍生出了一种文化现象 (相关cosplay) 其手游版本也是相当火爆,直播平台上的观看人数都超级多,当...

2019-08-19 22:21:24 189 0

原创 【Android】从SurfaceFlinger中获取各layer图片(1)

Surfaceflinger进程提供一个入口来实现对各进程的surface画面进行合并处理,也就是说,Surfaceflinger进程中保存有各进程的图像,(即layer),这里尝试获取各layer图像数据,来加深对surface的理解。 图像保存方法,参考screencap里的截屏实现, ...

2019-06-25 20:33:17 675 0

原创 黄金分割二分性能分析

F0 = 0 F1 = 0 F2 = F1 + t(2) + F0 + t(1) Fn = Fn-1 + t(n) + Fn-2 + t(n-1) t(n) 为斐波那契数列 En = Fn / sum = Fn / t(n+1) = (Fn-1 + Fn-2 + t(...

2012-08-17 17:34:37 1223 0

原创 多分方法的再讨论

两年前,对多分方法进行了一次分析,http://blog.csdn.net/aaajj/article/details/5601687 8-31备注 (1 + a) * lgK / (2*lg(a) ) 和 (a2+a-2)*lg(K) / ( 2*a*lg(a) ) 在数量级上是一...

2012-08-02 22:58:59 467 0

原创 samba设置user密码访问

samba配置的资料比较多,但设置user的时候,还是东西要注意,这里记录一下 samba的配置,可以参考 https://blog.csdn.net/qq_36119192/article/details/82733374 可以通过配置valid users来设置服务限制, 注意,这里的user...

2020-05-19 21:45:24 19 0

原创 【Android】binder对象传送的例子

通过bindService方法去获取服务端的代理对象,进而来调用aidl文件中定义的方法,其本质过程是binder对象的传递,通过AMS来把server端的binder对象传递给客户端 server端 IMathService.aidl package com.sunday.aidl; ...

2020-04-30 22:12:33 21 0

原创 【Android】从SurfaceFlinger中获取各layer图片(4)再回顾

从SurfaceFlinger中获取各layer图片的试验可以加深对GraphicBuffer和Layer的理解。 dumpsys SurfaceFlinger中打印的Slot信息中有GraphicBuffer的指针,可以帮助我们了解QueueBufferCore. 这个试验最初的出发点是根据...

2020-04-12 20:12:33 30 0

原创 【Android】从SurfaceFlinger中获取各layer图片(3)总结回顾

在 https://blog.csdn.net/aaajj/article/details/93653074 https://blog.csdn.net/aaajj/article/details/102537628 里面讨论了从SurfaceFlinger中获取layer图像的一个试验,这...

2020-03-28 13:57:42 60 0

原创 动态规划数的划分实际应用

在手游《和平精英》里面,当剩余5个队伍的时候,会提示“胜利”,这时,我们可以根据剩余的4个队伍的总人数S来推断4个队伍的人数分布可能情况。 这个信息,对于我们游戏还是很有帮助的,尤其是提防满编队的存在以及独狼的数量。 这里就涉及到整数的划分问题, 刚好,我们来回顾下动态规划, 数的...

2020-03-14 20:38:15 26 0

原创 Python基础练习--考拉兹猜想

考拉兹猜想 https://www.sohu.com/a/157051762_224832 对于自然数N f(N) = N / 2 (N为偶数) = 3 *N + 1 (N为奇数时) 不断的进行f操作,是否最终都会收敛到1? 目前还没有数学证明。 从程序计算的角度看,是...

2020-02-16 15:20:10 98 0

原创 动态规划处理长方形分割为正方形问题

动态规划主要是采用递推以及局部结果复用来进行计算处理。比较清晰的一个例子就是斐波拉契数列,f(n) = f(n – 1) + f(n – 2) 把每次的计算结果保存起来,就可以方便的得到下一个数据了。这样的规划处理方式比直接递归处理要快很多。 动态规划的经典应用是背包问题。 https:...

2020-02-05 19:45:12 219 0

原创 Linux命令sed与awk回顾

在前面的记录中,讨论了istringstream的使用,但是其默认分隔符是空格,这限制了其使用范围,但是,我们可以使用Linux中的sed命令去进行替换适配,把源文件中的分隔符替换为空格。 awk命令同样功能强大,在提取数据字段的时候很有用。 在不使用数据库的情况下,使用这些命令处理数据文件比如c...

2020-01-30 17:58:37 66 0

原创 C/C++从字符串中提取出数字的方法回顾

在对格式化的数据进行处理的时候,很多时候需要在字符串中进行数据的提取, 如果使用Oracle数据库,可以用里面的非常强大的sqlldr功能进行数据的提取和导入。 在C/C++中,可以自定义个方法提取出数字字符串,再使用atoi, atof之类的方法转换为数字。 C/C++中有sprintf方...

2020-01-12 21:08:24 801 0

原创 Presentation多屏显示回顾

在之前的关于Presentation的讨论中, https://blog.csdn.net/aaajj/article/details/90575622 使用了 Display aDisplay =mDisplayManager.getDisplay(5); 的测试形式,这个5是当前的一个...

2019-12-31 20:24:51 59 0

原创 Android有线投屏实践

家里有一台老式的投影仪,没有无线连接功能,只能通过HDMI线和VGA线传输数据。投影的时候需要使用电脑,但平常的使用,手机用起来更方便,曾考虑买一个无线接收装置,用来进行无线投屏,但是这样性能似乎不是太好,会有些延迟。希望以后的无线投屏可以感觉不到卡顿。 于是就买了个type-c的转换器。有的手...

2019-12-31 16:42:11 259 0

原创 再见了【JNI global reference table overflow】

在一年前的blog中,我们提到了由于JNI中的对象出现内存泄漏导致的JNI global reference table overflow,会导致system_server进程被kill掉而发生系统重启。 https://blog.csdn.net/aaajj/article/details/8...

2019-11-30 20:48:45 81 0

原创 dumpsys中的管道与thefuck的原理猜想

dumpsys命令是Android中非常实用的命令,通过在dumpsys程序中发起向server端的binder调用来执行server端的dump方法, 打印出server端的相应信息。 之前的dumpsys的代码实现比较清晰,似乎是Android 6后,进行了修改,很上去复杂了不少 f...

2019-11-30 20:09:57 29 0

原创 【Android】从SurfaceFlinger中获取各layer图片(2)

在前面的【Android】从SurfaceFlinger中获取各layer图片(1)里面,提到通过获取surfaceFlinger中的GraphicBuffer结构中 的共享内存的fd来达到访问图像数据的内存地址,进而实现访问对应的图像数据, 理论上是可行的,但是实际处理会有问题,最终需要通过...

2019-10-13 20:51:16 128 0

原创 【深度学习导数回顾】滑竿问题--导数求极值--星形线

这里通过滑竿问题来回顾导数和求曲线极值的方法 一个长度为L的木杆,从墙角慢慢滑下,所划过的面积边缘会是一条曲线,这是怎样的曲线呢? 解决了这个问题,即可解决通过拐角的最长木杆长度。 这个问题扩展到3维立体空间后,可以解决一些现实问题,比如一个拐角通道可以通过多长的梯子, 楼...

2019-10-13 19:53:12 31 0

原创 A*算法在8数码(滑块拼图)问题中的应用理解

关于A*算法,有些资料讲解很不错,如 https://blog.csdn.net/hitwhylz/article/details/23089415 https://www.jianshu.com/p/a3951ce7574d 在上篇滑块拼图的问题 https://blog.csdn.ne...

2019-09-07 18:03:41 404 0

原创 滑块拼图(加强版的8数码)的规划处理

最近回顾了下BFS,DFS,以及八数码问题 周末的时候在家突然看到了角落里的滑块拼图,放了很久了。 玩滑块拼图,没有找到什么规律的话太难下手了。 这时,考虑用程序来处理下。 3*4 + 1的拼图,是8数码的升级版,8数码问题的资料还比较多,是一个非常经典的问题 https...

2019-09-02 20:31:39 230 0

原创 【OpenGL ES】投影矩阵 Projection学习理解

投影矩阵 Projection 在当前的手机画面显示中,把空间3d的物体显示到2d平面的屏幕上,需要进行投影处理。 (如果未来出现了空间立体显示器,则是另外一种处理) 关于投影,可参考 http://www.songho.ca/opengl/gl_projectionmatrix....

2019-08-15 22:54:41 37 0

原创 【Android】OpenglES学习练习

在Android上进行OpenGL es的练习,有2种方式, 1.C++的native方式,参考代码 frameworks/native/opengl/tests/gl2_basic/gl2_basic.cpp 编译后,执行 ./test-opengl-gl2_basic ...

2019-07-21 10:36:27 74 0

原创 [Android]input事件注入测试

Android中提供了一个input命令来进行事件的模拟注入,如input tap 10 100, 可以模拟在坐标(10,100)处进行一个点击操作 input的帮助信息 $ input Usage: input [<source>] <command> [&...

2019-07-21 10:21:57 106 0

原创 [Android]读写fb0测试

直接读写fb0测试 1 写fb0 修改system/extras/tests/framebuffer/fb_test.c 读取格式为RGB_888的bmp图片,显示到屏幕上 void draw_grid(int w, int h, void* _loc) { int i, j; ...

2019-06-25 20:30:26 345 0

原创 【Android显示系统初探】多屏显示Presentation的使用

Presentation通过指定displayID来决定显示在哪个屏幕上,这样就实现了多屏幕的显示(如果手机有多个显示设备), 也就让不同的屏幕可以显示不同的画面, 在只有一个显示设备的情况下,我们可以打开开发者选项中的设置来模拟多屏,进而来测试Presentation。 在开发者选项的...

2019-05-26 14:10:11 1048 1

原创 【Android显示系统初探】surface初相识

Android显示系统非常复杂,从早期版本演化至今有很大的变化和改进,所以从当前的版本直接去查看会很困难。 初学者看到繁多的概念和类会感到无从下手。 这里我们将从实践应用的方式来展开这一系列,试图对Android的显示系统进行窥探。 Android应用通过surface绘图和Surfac...

2019-05-26 14:00:15 123 0

原创 [Android]Ashmem共享内存使用

Android中设计的Ashmem使用起来非常方便,但是很多封装使用,却让其看起来复杂了。 下面通过一个例子来查看其使用 服务端创建共享内存fd,并通过binder通信把fd提供给客户端 #define LOG_TAG "bindertest" #include...

2019-04-30 21:44:22 304 0

原创 【Android】写/dev/graphics/fb0显示bmp图片试验

Android中画面的显示机制在底层套用了Linux的FrameBuffer机制,即通过 /dev/graphics/fb0去进行画面的显示, 相关资料 Linux framebuffer显示bmp图片 在Android源码中,也提供了一个例子,来设置屏幕的像素点, /system...

2019-04-14 21:34:37 1215 0

原创 通过文件描述符(fd)去访问Android共享内存

关于Android共享内存,可以查看下这个资料 https://blog.csdn.net/goodlixueyong/article/details/53151959 Android中分别提供了C++和Java的访问共享内存的接口 Java层使用MemoryFile 通过fd去标识共...

2019-03-26 21:04:40 433 0

原创 property_get的编译报错问题

在使用property_get的时候,竟然发现有个坑, char value[64] = {0};//PROPERTY_VALUE_MAX property_get("debug.slamlog", value, "0"); 编译的时候会出错, ...

2019-03-26 20:54:29 900 0

原创 【SELinux】通过neverallow语句来认知“属性”的意义

关于neverallow   对于类型为system_server_service 的服务,由于设置了 add_service(system_server, system_server_service);   里面调用了neverallow, add_service是个宏,定义在 s...

2019-02-25 21:14:39 1476 0

原创 c++层使用和编译aidl文件例子

c++层使用和编译aidl文件可以参考av/camera里的例子   这里给出了一个简化版的工程例子 测试的工程路径为源码路径下的frameworks/native/cmds/bitTube aidl文件 ITest.aidl   package android.hardware; ...

2019-02-25 21:03:56 1375 0

原创 [Android]关于aidl

aidl的基本数据格式,可以参考源码中的例子 system/tools/aidl/tests/android/aidl/tests/ITestService.aidl 52 SimpleParcelable RepeatSimpleParcelable(in SimpleParcelabl...

2019-01-31 16:26:30 93 0

原创 【Android】Android 8上查看线程信息

在Android 8之前,toolbox中的ps命令 ps -t &lt;pid&gt;  可以查看进程的线程信息, 但是在Android 8后,toolbox被toybox替代了,里面的ps没有查看线程信息的命令。 查看线程信息有时候在分析问题时很有用,比如查看binder线...

2019-01-30 14:09:05 929 3

原创 binder中的asInterface和asBinder

在binder的封装里,接口类如IPowerManager(stub,proxy)里包装了IBinder对象, 封装方法中提供了asInterface来根据IBinder来构造接口对象,如 IPowerManager adapter = IPowerManager.Stub.asInterf...

2018-12-31 17:58:44 1733 0

原创 【Android】usb连接断掉后adb shell中启动的程序停止分析

之前碰到个问题,使用adb shell执行手机上自己写的shell脚本,比如反复点击操作的脚本, 在usb断掉后就会停止执行,使用 &amp; 切换到后台执行还是会停止, 但是logcat &gt; 1.log &amp; 就不会停止   这几天又关注了下这个问题...

2018-12-25 20:52:37 1109 4

原创 让Android系统发生重启的apk应用

在前面的文章 《Bug Report to Google of Android》中,描述了让系统发生重启的方法,里面的链接中可以下载代码, 这里提供一个界面改进的代码,实时显示ContentObserver的个数, https://github.com/SundayCool/JNIoverfl...

2018-11-14 14:37:50 416 0

原创 【Android】dumpsys --proto简介

dumpsys --proto   2018-11-9 在Android 8.0开始,在有些dump方法中添加了—proto的处理,如batteryService中 private final class BinderService extends Binder {         @O...

2018-11-09 17:56:13 601 0

原创 toybox分析

toybox分析 2018-10-23 Android系统中的很多命令,如ps,其本质都是toybox里面的功能。 /system/bin ls lrwxr-xr-x 1 root   shell          6 2009-01-01 00:00 ps -&gt; toyb...

2018-10-24 17:42:08 2696 0

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