自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

漂流瓶の海岸

给自己一个微笑

  • 博客(44)
  • 资源 (12)
  • 收藏
  • 关注

原创 Android Tombstone 与Debuggerd 原理浅谈

tombstone底层原理,tombstone案例分析,使用ASAN案例。

2023-11-24 18:02:15 2371

原创 android将一个String保存到.txt文本中

TXT文本的编码方式有UNICODES,UTF8,UTF16等等。 这里只针对UTF8编码的TXT文本作为例子。保存该txt文本到SD卡的download目录。    private boolean saveText(String text, String name) {      if(text == null) return false;      byte[] data = te

2013-07-10 20:06:32 3825

原创 C语言面试笔试题最实用基础总结

C语言菜鸟如何紧急准备面试的笔试环节

2024-04-09 19:52:19 365

原创 高通8155/8295平台audio技术栈与架构

高通8155/8295平台audio技术栈

2024-03-07 18:14:58 255

原创 Android 11如何生成coredump

android R android 11下面如何生成coredump

2024-03-01 13:09:39 335

原创 tombstone常见崩溃信号说明

在应用崩溃的时候,我们将会获取到两个信息:signal: 信号量,下文将会详细的说明不同的信号量及其含义。code: 错误码, 除了几个所有信号量(signal) 公共的错误码(code),一般不同信号量(signal)有特定的错误码(code),可以看做是信号量(signal)的补充说明。

2024-02-23 20:00:50 877

原创 偷流量、端口占用、网络负载高、socket创建释放异常等Android高阶TCP/IP网络问题定位思路

偷流量、端口占用、网络负载高、socket创建释放异常等Android高阶TCP/IP网络问题定位思路。通常tcpdump可以抓到对应问题的tcp/ip报文,但是tcpdump无进程/包名信息,无法确认异常的报文来自哪些Apk或者native进程。本题解决tcpdump报文无法关联到应用的问题。

2023-12-26 14:58:38 1170

原创 Android Framework一些问题思考

Android Framework一些问题思考

2023-12-22 18:34:29 729

原创 Notepad++常用的字符替换正则表达式

Notepad++常用的字符替换正则表达式,可以用来删除英语单词笔记里面的音标、序号、单词属性,只剩下纯单词与中文翻译,便于生成朗读材料。

2023-12-18 19:54:18 649

原创 shell脚本编程

shell编程笔记

2023-11-27 15:41:28 77

原创 dump与strace命令实战之分析keystore死锁导致watchdog问题

使用strace命令与debuggerd 命令实战

2023-10-29 19:20:37 295

原创 高通车机8155平台android开启ASAN定位内存问题方法

通8155p平台QNX+Android9开启ASAN定位内存问题方法Android.mk与Android.bp都有

2023-10-09 19:38:53 631 4

原创 ANR问题原理介绍与DEBUG分析

介绍ANR触发的原理,LOG分析,以及部分问题示例

2023-08-31 10:46:02 656

原创 android核绑定cpuset配置与检测进程所在核cpuset方法

抛开开机动画需要的audio、surfaceflinger等进程,大部分android程序是在/data分区加载完整以后开始加载。所以cpuset的配置可以在 post-fs-data之后。注意,init.rc的不同阶段脚本都可能覆盖前面配置的cpuset。配置好检查与预期不一致,则要配置被重置了。由于statsd是开机完成前加载的,所以第一次cpuset可能在0-5之间。我们以此可以判断开机时候配置的是否正常。可以看到top-app下活跃的进程。三、配置特定进程的cpuset。二、配置cpuset。

2023-08-18 11:49:15 1296

原创 Android9开机启动与FBE过程完整介绍与LOG流程

介绍android开机过程,以及FBE过程。对应LOG分析

2023-08-14 15:05:09 992

转载 【转载】深入理解 Android 之设备加密 Device Encryption

深入理解 Android 之设备加密 Device Encryption

2023-07-17 20:31:35 540

原创 android解决文件缓存太多导致lowmemorykiller问题

如何客制化android, 清理cached kernel, 回收内存,避免Lowmemorykiller.

2023-06-15 17:31:53 1598

原创 android 打印所有JAVA应用调用java.net.socket 创建socket、关闭socket、线程、本地端口、远端端口信息的方法

基于android 11的debug patch。在socket.java里面增加LOG打印,打印所有使用过socket.java创建、关闭的socket本地与远端端口。可以通过persist.debug.logging_socket 属性控制是否打印。

2023-06-01 10:08:44 175

原创 sa8155p QNX部分命令汇总,关闭android SELINUX

QNX系统sa8155p通过adb命令进入QFIL刷机模式(9008)方法QNX系统sa8155p关闭android SELINUX方法

2023-04-03 11:30:26 1417

原创 OMX大量内存泄漏问题分析

正常LOG,OMX的关键字makeComponentInstance跟destroyComponentInstance是一一对应的。系统service产生内训消耗,多是使用系统service接口的应用产生。先找到异常使用的地方,再从异常使用的地方往前找异常的应用。二,分析OMX模块业务,在此不再冗述。推测当时使用OMX接口的音频或者视频模块可能因为没有释放句柄、资源等造成内存泄漏。找每份LOG中,make跟destroy数量不一致的LOG。确认了是[email protected] 模块内存一直在消耗。

2023-03-30 10:28:58 459

原创 Android使用dma_buf分析Low Memory问题

Android使用dma_buf分析Low Memory问题。可以分析一些卡顿场景。

2023-03-04 10:03:36 1700 2

原创 解决终端路劲太长问题

解决终端路劲太长问题

2023-03-04 09:18:03 397

原创 android studio 添加JNI模块与.a文件的方法与经验分享

android studio添加JNI,引用预编译库,编译不同arch 遇到的一些问题。

2022-10-14 13:52:32 2659

原创 匿名访问查看服务器samba用户名实现smbclient -L

解决smbj不方便列出服务器所有samba账户问题。实现如LINUX 命令 smbclient -L 功能。

2022-08-22 16:55:39 1588

原创 android 11 NDK交叉编译静态ffmpeg方法

android NDK交叉编译ffmpeg方法,编译ffmpeg可执行程序与 libavcodec.so libavfilter.so libavformat.so 等。

2022-08-08 16:04:53 1780

原创 windows下最简单实用的拼接合并与压缩视频方法

windows下最简单实用的拼接合并视频方法。无需学会敲命令,会新建重命名文件就行。

2022-07-05 15:47:24 3099

原创 android为APK新建SELINUX权限域seapp_contexts

当APP需要做一些系统或系统设备相关的访问读写,新加的权限会跟android内置的neverallow规则冲突,从而造成编译不过。解决方法是为应用新建一个域,添加自定义规则,绕开编译问题。

2022-06-23 10:50:20 2598

原创 Android 按键事件分发过程

2022-02-28 15:29:58 2244

原创 基于ijkplayer 0.8.8编译的完整so. libijkffmpeg.so等,支持ssl h265, rm, rmvb

基于ijkplayer 0.8.8版本(github 2021年11月版本)编译的全平台全协议JNI libijkffmpeg.so。支持open ssl, h265, rm, rmvb, rtsp rtmp。直播与本地播放全部支持。已经用gradle打包成一个android module,可以直接编译成一个aar,提供其他java或者kotlin代码调用。如果已经有项目,直接把文件夹里面的lib拷贝出。编译的平台有:arm64-v8a armeabi armeabi-v7a x86 x86_64

2022-01-28 14:12:55 3387 11

原创 将ts视频文件转换为图片替换android开机动画

ffmpeg -i file.ts -r 5/1 jpg_name%03d.jpg5/1 是每秒5帧ffmpeg-i nerc8k_001.jpg-vf "scale=960:-1" 001_1.png压缩图片大小Windows 批量处理for /R %v IN (loop1\*.jpg) do (ffmpeg -i %v result\%~nv.png)linux 批量处理命令echo -e "end_time:${PWD}"read end_timeFol.

2022-01-20 14:21:00 1949

原创 预编译的.so bin apk编译到Android系统通用Android.mk

预编译的.so bin apk编译到Android系统通用makefile. 使用Android.mk

2021-12-27 16:27:14 444

原创 在android系统增加守护进程和SELINUX权限,将应用程序APK的shell命令发送给LINUX,实现系统操作

背景最近项目有个需求,需要实现扫描并播放局域网的视频。局域网的视频通常是使用smb协议的samba文件夹。我们的产品是机顶盒,基于android R以及android Q。方案设计1,在应用层做一个APK,作为client。实现局域网samba文件夹的扫描功能,并把文件夹的IP地址,文件夹路劲等,以及准备mount的目录,组合成相关的shell命令,依次通过socket发送给守护进程nerccmd。2,在机顶盒系统增加一个守护进程nerccmd,这个守护进程配置足够的selinux权限,

2021-10-29 14:12:43 1586

原创 C语言字节对齐,看这篇就够了

#pragma pack(N)  编译器用'N'来设置数据的对齐方式。默认32位OS对齐字节是4,64位对齐字节是8。'N'有可能影响结构体内部成员的对齐位置,以及结构体整体大小。gcc 中,N不能大于默认的对齐字节数,否则不生效。对齐规则  规则一.:每个成员变量在其结构体内的偏移量都是“MIN(N,成员变量类型的大小)”的倍数。  规则二:如果有嵌套结构体,那么内嵌结构体的第一个成员变量在外结构体中的偏移量,是“MIN(N,内嵌结构体中那个数据类型大小最大的成员变量)”的倍...

2021-08-31 13:21:49 907 1

原创 vmware虚拟机重启后ubuntu找不到共享文件夹问题

问题出现在vmware 16+版本,导入的ubuntu 16+版本。解决方法:sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o nonempty敲完后共享文件夹就出来了。

2021-08-20 09:44:39 1488 4

原创 解决LINUX应用反复启动出现的socket port used问题

目前代码上面的解决方案,都不能完全避免问题。解决方案就是在启动程序之前,运行如下命令:fuser -v -n tcp 18917 -k18917是程序中所用的port.以上命令需要管理员权限。如果sudo或root模式下,运行java命令提示找不到java,可能是因为在user模式下装的JAVA,JAVA环境变量没有加入root.可以在运行java命令前手动配置环境变量:export PATH=$PATH:/home/ryan/JAVA/jdk1.8.0_291/binjava -

2021-08-10 13:09:56 672

原创 LINUX获取NTP与系统时间偏移的方法

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/time.h>#include <unistd.h>#include <sys/select.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netdb.h>#include &.

2021-07-29 15:09:50 1029

原创 Mysql导入UTF8编码数据库命令总结

安装时候配置root账户并添加一个用户。添加用户的密码跟root账户可以相同。点击 MySQL 5.7 Command Line Client,输入密码登录。导入UTF编码的SQL需要命令参考:SHOW VARIABLES LIKE 'character_set_%'; 查看编码方式set NAMES 'utf8';set character_set_database=utf8;set character_set_server=utf8;DROP database d...

2021-06-30 09:30:20 480

原创 C++ 11实现 messagequeue, looper,handler

message 可根据实际情况定义#pragma once#include <algorithm>#include <iostream>#include <memory>#include <string>#include <vector>#include <functional>class Dispatcher;using std::string;class Message: public std::ena

2021-06-10 17:01:38 1415

原创 通过字符设备虚拟文件系统实现kernel和userspace数据交换(基于kernel 5.8测试通过)

kernel space代码#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/io.h> //ioremap()#include <linux/delay.h>#include <linux/cdev.h>#include <linux/fs.h>#include <.

2021-05-24 17:46:04 215

原创 内核与用户空间通过字符设备通信

kernel空间代码:#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/io.h> //ioremap()#include <linux/delay.h>#include <linux/cdev.h>#include <linux/fs.h>#include <linux/

2021-05-21 19:01:02 80

在socket.java里面增加LOG打印,打印所有使用过socket.java创建、关闭的socket本地与远端端口

基于android 11的debug patch。在socket.java里面增加LOG打印,打印所有使用过socket.java创建、关闭的socket本地与远端端口。可以通过persist.debug.logging_socket 属性控制是否打印。 资源是导入JNI的一些patch。核心代码在: https://blog.csdn.net/suixin______/article/details/130982611 打印LOG如: Line 140076: 12-15 15:40:02.536 2593 3487 D JAVA_SOCKET: done super.connect(55011:80). sockthread=194 Line 140077: 12-15 15:40:02.536 2593 3487 D JAVA_SOCKET: Close(55011:80). sockthread=194

2023-12-15

lostram 统计工具,用以统计系统出现lowmemkiller情况时候系统的lost ram情况

前提环境: 1)准备adb的环境,确保adb可以正常链接电脑。 2)提前安装好python3的环境,确保脚本可以正常执行。 测试步骤: 1.复现system_server_lowmem问题 2.出现后第一时间,执行脚本lostram_w.py,获取系统内存信息: python lostram_w.py device_id_XX 3.将步骤2的结果保存成文本,同步adb log一起分析。

2023-11-27

高通8155p平台QNX+Android9开启ASAN定位内存问题方法Android.mk与Android.bp都有

高通8155p平台QNX+Android9开启ASAN定位内存问题方法。里面有所有的Android.mk与Android.bp示例。不会写Android.mk与Android.bp,或者常有编译问题的可以下载参考,解决无法使能ASAN的问题。不会用的一定要展开下面链接看使用方法,以及编译问题示例,别啥也不懂就开始抱怨。 使用方法参考: https://blog.csdn.net/suixin______/article/details/133713263

2023-04-18

jcifs-1.3.18 用于android访问samba服务器。支持匿名访问,实现smbclient -L列出服务器用户名

jcifs-1.3.18 用于android访问samba服务器。支持匿名访问,实现列出服务器用户名显示结果同LINUX smbclient -L 命令。 jcifs支持samba 1.0协议。可以与smbj配合使用。 下载jar后,把jcifs-1.3.18.3.jar放在代码build.gradle同级新建的文件夹libs中。工程的app.build.gradle里面加上包的导入: implementation files('libs/jcifs-1.3.18.3.jar') 资源里面有参考代码。

2022-08-22

windows下mp4文件拼接的工具 文件需要按照顺序命令 如果修改顺序,请重新按照顺序命名

基于ffmpeg与windows批处理程序,制作的mp4无损文件合并脚本。 使用方法: 1,直接解压到任意位置,例如 D:\ffmpeg; 2,把需要拼接的MP4拷贝到D:\ffmpeg; 2,按window+R 输入cmd, 回车打开命令提示符; 3,命令提示符切换到D:\ffmpeg; 4,运行go.bat 5,拼接好的mp4是output.mp4

2022-03-02

Android 11 Android R可编译ntfs-3g 任意Android.mk可以编译到的位置即可

ntfs-3g Android 11 Android R可编译代码。使支持ntfs格式tf卡、U盘、stat硬盘挂载,解压文件到任意可以被编译到的目录下,mm编译成功后,可以编译到/vendor/bin目录下。

2022-02-14

支持rm avi等全协议基于ijkplayer的播放器,支持文件浏览与打开流媒体链接 播放器支持调速,快进退,悬浮框

支持全协议基于ijkplayer的播放器,支持文件浏览与打开流媒体链接。 播放器支持调速,音轨,比例,快进快退,悬浮框浏览。 现在可以很轻松一边看rm/rmvb电影,一边聊微信了。 最重要的是,完全没有广告!!!

2022-01-28

基于ijkplayer 0.8.8编译的完整so. libijkffmpeg.so等,支持ssl h265, rm, rmvb

基于ijkplayer 0.8.8版本(github 2021年11月版本)编译的全平台全协议JNI libijkffmpeg.so。 支持open ssl, h265, rm, rmvb, rtsp rtmp。直播与本地播放全部支持。 编译的平台有:arm64-v8a armeabi armeabi-v7a x86 x86_64 已经用gradle打包成一个android module,可以直接编译成一个aar,提供其他java或者kotlin代码调用。如果已经有项目,直接把文件夹里面的lib拷贝出来即可。 免费演示APK: https://download.csdn.net/download/suixin______/78259690

2022-01-28

android系统应用为APK实现命令行功能.zip

功能描述: 海思平台,android系统应用,配置关联的SELINUX权限,为上层APK提供局域网samba文件mount,创建文件夹等shell command功能。资料包含系统进程,上层APK,selinux权限配置的全部代码。 设计与修改方法: https://blog.csdn.net/suixin______/article/details/121032963

2021-10-29

xmppprocessor.zip

基于smack的纯JAVA xmpp聊天、群聊示例代码,以及全部相关.jar包,包含jxmpp-jid-1.0.1.jar, minidns-0.1.7.jar 等。一套在手,只要修改代码更新功能就行了,无需额外的环境和.jar配置。

2021-08-06

短信解析工具开源版, 本人个人原创随意下载修改

使用方法: 针对 gsm SMS的AT解析 1 打开 LOG文件夹:\mobilelog\APLog 2 打开radio_log 3 查找 +CMT 4 将后面的一长串数字复制。例如:0891683110304105F0240D91688111167112F0000841603031543223089694819C81EA5DF1 5 双击执行这个html 文件。有安全提醒,选择加载脚本/允许阻止的内容。 6 在输入框粘贴日志,点按钮即可。 7 具体协议,请参考3GPP 23.040

2016-11-03

短信解析工具开源版, 本人个人原创随意下载修改

针对GSM SMS的AT解析 1 打开radio LOG文件夹:\mobilelog\APLog 2 打开radio_log 3 查找 +CMT 4 将后面的一长串数字复制。例如:0891683110304105F0240D91688111167112F0000841603031543223089694819C81EA5DF1 5 双击执行这个html 文件。有安全提醒,选择加载脚本/允许阻止的内容。 6 在输入框粘贴日志,点按钮即可。 7 具体协议,请参考3GPP 23.040

2016-11-03

wireshark问题分析示例

wireshark分析android问题,分析tcp/dump结合android socket非常实用全面的分析技巧

2014-07-03

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

TA关注的人

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