- 博客(686)
- 资源 (31)
- 收藏
- 关注
原创 2025-01-15 Linux killall 命令加-9 跟不加-9的区别,不加 -9:发送 SIGTERM 信号,请求进程优雅退出,清理。加 -9:发送 SIGKILL 信号,强制终止进程。
一、加 二、不加 (默认信号)三、总结四、对比下面的例子,不加-9 会释放资源,优雅退出,而加-9 不管三七二十一直接退出。
2025-01-15 19:22:43
319
原创 2025-01-14 Android studio jni 里面使用libzip解压zip文件,。注意:使用zip_open_from_source函数会导致app莫名其妙的运行异常,不知道为什么。
【代码】2025-01-14 Android studio jni 里面使用libzip解压zip文件。
2025-01-14 11:45:15
203
原创 2024-12-26 ubuntu 下载jpeg代码,用ndk编译放到Android studo 里面使用libjpeg.so,实际使用,在jni里面解析jpeg图像。
3.2 写编译脚本build.sh,ANDROID_NDK是ndk路径。3.4 放到Android jni进行编译和调用,Android.mk。3.5 实际使用,用下面的代码在jni里面解析jpeg图像。3.1 新建build_android 目录。3.3 编译后得到的libjpeg.so库。
2024-12-26 15:40:50
318
原创 2024-11-28 提示java.lang.IllegalStateException: Signature mismatch on system package com.xxx.xxxfor
而且无法进入桌面。
2024-11-28 13:58:51
425
1
原创 2024-11-04 Android java app Handler sendMessage信息,如何在handleMessage处理完后再发下一sendMessage,用ReentrantLock
1.3 从log上看,全部消息已经发送后,handleMessage里面逐个按顺序处理消息。2.2 运行结果如下,达到预想效果。1.2 上面代码运行结果如下。1.1 java代码。
2024-11-04 19:58:45
377
原创 2024-10-18 Android studio 模拟器AVD 提示The emulator process for AVD ******* has terminated
arm64得API低于28。
2024-10-18 17:59:43
1611
原创 2024-10-18 查看 Android 系统是运行在 x86 还是 ARM 架构,通过getprop ro.product.cpu.abi 获取。
2024-10-18 16:03:52
232
原创 2024-10-17 linux 串囗最大读缓存区多少个字节,如何在调用open tcsetattr 等初始化的时候清空读缓冲区,使用tcflush(mcu_fd, TCIOFLUSH
tcflush()
2024-10-17 16:14:47
195
原创 2024-09-27 buildroot C和语言将 中文的GBK编码转换为 UTF-8 的代码, printf 显示出来,使用 iconv 库去实现。
【代码】2024-09-27 buildroot C和语言将 中文的GBK编码转换为 UTF-8 的代码, printf 显示出来,使用 iconv 库去实现。
2024-09-27 18:54:05
356
原创 2024-09-10 linux uart串口外面发送过来的是0x0d,但接收的都是0x0a,解决方法:禁用 ICRNLtty.c_iflag &= ~(ICRNL | INLCR | IGNCR)
工具查看或修改串口的终端参数。
2024-09-10 19:11:27
428
原创 2024-09-06 用adb把一个文件push到linux设备里,明明已经看到有这个so库了,但是重启之后这个so库就变为0字节。sync命令会强制所有挂载的文件系统将内存中的修改数据块写入磁盘。
一、现象如下:sync。
2024-09-06 16:08:01
320
原创 2024-08-31 Linux bug调试记录,linux 驱动里面kthread_run 打开一个内核线程里面如果使用 mdelay 会导致系统崩溃,使用ssleep msleep代替
是一个忙等待(busy-wait)函数,它在延迟期间占用CPU资源,不进行任何实际工作,这会阻止其他任务的执行,特别是当它在队列处理循环中使用时。如果队列处理循环是一个高优先级的任务,它可能会阻止低优先级任务运行,从而导致系统整体响应变慢甚至挂起。例如,如果延迟是为了等待硬件状态变化,考虑使用中断或轮询硬件状态,而不是使用延迟函数。在设计内核驱动时,应尽量避免使用忙等待,以免影响系统的整体性能。: 如果你在等待某个事件的发生,可以使用这些等待队列函数。为了避免这种情况,你应该考虑使用不同的方法来实现延迟。
2024-08-31 17:33:06
466
原创 2024-08-26 C语言在程序里面使用system() 函数执行一个shell脚本,如何获取shell脚本的exit的返回值,使用這個來加載WIFI驅動模塊。
一、system()
2024-08-26 18:58:42
313
原创 2024-08-22 buildroot linux 使用wpa_supplicant -B -i wlan0 切换WIFI 设备之后无法上网的问题。解决方法,使用udhcpc -i wlan0 命令
【代码】2024-08-22 buildrootlinux 使用wpa_supplicant -B -i wlan0 切换WIFI 设备之后无法上网的问题。解决方法,使用udhcpc -i wlan0 命令。
2024-08-22 19:52:08
349
原创 2024-08-21 Linux 可以指定某个网络设备来进行 ping 操作。你可以使用 -I 选项来选择网络接口,I就是interface接口的意思。ping -I wlan0 8.8.8.8
ping-I。
2024-08-21 19:08:22
348
原创 2024-08-16 Android studio Clean project如何把子模块的build 目录也clean, 增加 delete subproject.buildDir
【代码】2024-08-16 Android studio Clean project的时候如何把子模块的build 目录也clean。
2024-08-16 12:24:29
437
原创 2024-08-15 调试中发现 linux spi 驱动通过spi_write 或者 spi_sync 最多只能写0XFFFF 个字节,提供解决方案。
【代码】2024-08-15 调试中发现 linux spi 驱动通过spi_write 或者 spi_sync 最多只能写0XFFFF 个字节,提供解决方案。
2024-08-15 20:03:01
437
原创 2024-08-12 socket 通信客户端断开连接时服务端还在write的话会导致程序崩溃,用gdb 运行看详细log,Thread received signal SIGPIPE, Broken
使用gdb 去运行看详细的log。
2024-08-12 10:07:58
436
原创 2024-08-09 C语言Socket 把一个的结构体占用的字节值发到android java 里面,用jni的形式解析里面的变量,然后再把数据返回到java层
2.3 Java 代码调用 JNI 方法,在 Java 端调用 JNI 方法,并接收返回的 ImageHeader 对象。3.4 运行结果如下,解析出来的数据跟我用另外一种方法解析出来的值是一样的,说明一切OK。2.2 jni 函数,确保 JNI 方法签名与 Java 构造函数匹配。2.1 ImageHeader类。3.2 ImageHeader类。3.3 java 调用。
2024-08-09 10:57:08
196
原创 2024-07-31 Android studio gradle、sdk、ndk 、模拟器等路径记录
一、gradle的下载路径:C:\Users\user\.gradle\wrapper\dists二、NDK下载路径C:\Users\user\AppData\Local\Android\Sdk\ndk三、SDK下载路径:C:\Users\user\AppData\Local\Android\Sdk\platforms
2024-07-31 18:19:46
881
原创 20240730 Linux 一个libxxx.so库,把这库名改成libfuckyou.so,Makefile CFLAGS += -lfuckyou ,可执行文件运行还是会去寻libxxx.so
patchelf。
2024-07-30 10:18:18
274
原创 2024-07-24 buildroot c语言应用获取 kernel kobject_uevent_env 发送的消息,侦测USB口变化。
3.1 kernel 使用kobject_uevent_env 发送信息。3.2 c语言app代码。
2024-07-24 16:06:12
543
1
原创 2024-07-20 如何在Android系统里面的PATH变量增加一个路径,增加一个LD_LIBRARY_PATH变量?
一、adb 进入系统后 busybox vi /system/etc/init/hw/init.rc 在on init里面修改二、重新开机运行查看系统环境变量,发现PATH环境变量没有变化,应该是另外一个地方赋值了,分析一下没有找到,算了。
2024-07-20 15:26:14
393
原创 2024-07-20 Android java 判断是否有usb camera 设备,一般USB视频设备类代码为239,接口的类代码为 USB_CLASS_VIDEO (0x0e)
【代码】2024-07-20 Android java 判断是否有usb camera 设备,一般USB视频设备类代码为239,接口的类代码为 USB_CLASS_VIDEO (0x0e)
2024-07-20 10:50:06
352
原创 2024-07-17 Android studio 提示libuvccamera:ndkBuild 2/ndk-build.cmd‘‘ finished with non-zero exit
【代码】2024-07-17 Android studio 提示libuvccamera:ndkBuild 2/ndk-build.cmd‘‘ finished with non-zero exit。
2024-07-17 09:58:58
502
原创 2024-07-09 Linux 使用gpio-keyboard标准方式获取按键事件实例代码
【代码】2024-07-09 Linux 使用gpio-keyboard标准方式获取按键事件实例代码。
2024-07-09 19:43:40
453
原创 2024-07-09 如何要让 Linux 驱动模块(.ko 文件)加载时接受参数,并在驱动模块内部解析这些参数,使用module_param_string形式
【代码】2024-07-09 如何要让 Linux 驱动模块(.ko 文件)加载时接受参数,并在驱动模块内部解析这些参数,使用module_param_string形式。
2024-07-09 19:00:50
286
原创 2024-07-09 buildroot 上面调试usb蓝牙模块最常用的命令 hciattach hciconfig hcidump ,记录调试蓝牙模块可以搜索到设备的过程,算是调试蓝牙的第一步。
我这里编译会遇到找不到wordexp.h,解决方法是把buildroot-2023.02.6/output/build/bluez5_utils-5.65/android/compat/wordexp.h 复制到编译器tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/arm-rockchip830-linux-uclibcgnueabihf/sysroot/usr/include/wordexp.h。
2024-07-09 16:33:16
1013
原创 2024-07-04 linux 两个lib目录下有同样文件名的动态链接so库,程序会调用哪个呢?使用 strace -e 命令查看,LD_LIBRARY_PATH变量路径会先于/usr/lib路径。
也就是说LD_LIBRARY_PATH里面的变量路径会先于/usr/lib/路径。
2024-07-04 10:57:08
210
原创 2024-07-03 java Bitmap写图像rgba数据使用setPixel和setPixels的时间对比,setPixels方法一次性设置像素会比setPixel快得惊人,相差三百多毫秒。
【代码】2024-07-03 java Bitmap写图像rgba数据使用setPixel和setPixels的时间对比,setPixels方法一次性设置像素会比setPixel快得惊人,相差三百多毫秒。
2024-07-03 15:17:12
390
原创 2024-07-01 Linux xxd命令上查看或创建16进制的命令行工具。可以将二进制文件的内容以十六进制格式显示,将十六进制格式的数据转换回二进制文件。xxd 可以生成适合包含在C代码中的C数组
【代码】2024-07-01 Linux xxd命令上查看或创建16进制的命令行工具。可以将二进制文件的内容以十六进制格式显示,将十六进制格式的数据转换回二进制文件。xxd 可以生成适合包含在C代码中的C数组。
2024-07-01 18:53:08
287
原创 2024-06-28 buildroot Makefile 文件ifeq 前面能有空格吗?ifeq 前面不能有空格。ifeq 是一个指令,必须从行首开始,否则会被解释为命令或规则的一部分,导致语法错误
是一个指令,必须从行首开始,否则会被解释为命令或规则的一部分,导致语法错误。
2024-06-28 10:43:41
180
原创 2024-06-20 在 Buildroot 系统中,使用reboot loader 并未进入烧录模式的解决方法,重启前在文件系统中创建一个文件来存储参数,然后内核重启时读取这个文件并做相应处理。
定义的系统调用函数在用户空间程序调用对应的系统调用时被触发。例如,当用户空间程序调用。3.3 运行实际效果,执行my_reboot loader时候会进入烧录模式。3.2 修改kernel 下面的驱动reboot.c。3.1 编写一个my_reboot.c 系统应用。系统调用时,最终会执行内核中由。
2024-06-20 18:51:33
605
1
原创 2024-06-14 ARM Ubuntu 22.04.3 串口无密码登录设置,修改/usr/lib/systemd/system/serial-getty@.service服务ExecStart
agetty。
2024-06-14 11:44:08
558
原创 2024-06-14 ubuntu 简单易用的文本编辑器nano 一些常用方法
通过掌握这些常用方法和快捷键,您可以更高效地在 Ubuntu 上使用 Nano 编辑文本文件。显示 Nano 的帮助文档,其中包含所有快捷键及其功能。如果文件有未保存的更改,Nano 会提示您是否保存。Nano 支持多种语言的语法高亮,可以通过编辑。如果文件不存在,将会创建一个新文件。显示当前光标位置(行和列)。以确认文件名并保存。
2024-06-14 11:32:10
1809
原创 2024-06-07 使用Android辅助功能AccessibilityService 进行自动化测试demo,可以获取目标app的控件id,输入内容以及自动点击按钮
要使用 AccessibilityService,你需要创建一个继承自 AccessibilityService 的服务类,并在 AndroidManifest.xml 文件中声明该服务。因此,在使用 AccessibilityService 时,你需要确保用户已经授权你的应用程序,并且在用户关闭辅助功能时及时停止服务,以避免不必要的资源消耗。此外,AccessibilityService 还可以模拟用户的操作,例如点击、滑动、输入等,以便实现一些自动化的操作。
2024-06-07 19:18:39
1684
原创 2024-06-06 C语言结构体成员变量位域(bit-field)的使用,它允许我们有效地利用数据存储空间,将多个逻辑上相关的小数据放在同一个字节中
的宽度为 3 位,因为它后面紧跟着冒号和数字 3,这表示该成员变量只占用 3 个位。这种语法被称为位域(bit-field),它允许我们有效地利用数据存储空间,将多个逻辑上相关的小数据放在同一个字节中。的位域宽度为 3,意味着它可以存储的数值范围是 0 到 7(2^3 - 1)。根据具体的应用场景,这 3 位可以用来表示不同的状态、类型或者标志位等信息。mipi 和 type是共用在一个字节里面。
2024-06-06 11:34:31
516
1
原创 2024-06-05 Android app jni里面c语言函数申请的局部变量数组过大会导致程序崩溃的问题分析
不同操作系统和编译器对栈大小有不同的默认限制。例如,在Linux系统上,栈大小通常是8 MB,而在Windows系统上,默认栈大小通常是1 MB。由于栈空间是有限的,分配过大的局部数组可能导致栈溢出(stack overflow),导致程序崩溃。因此,分配局部数组时需要谨慎。4.3 点击增加1M,2072-1048=1024 ,到了7192后再加的时候app会crash。:不同的编译器可能对局部变量大小有不同的限制,但这通常是次要的,主要的限制还是系统的栈大小。局部变量通常分配在栈上。
2024-06-05 15:01:34
351
1
原创 2024-05-30 ARM32编译器编译neon汇编代吗 Error: selected processor does not support `vrshrn.i16 d0,q1,‘ in ARM
使用arm-xxxxxx-gcc -Q --help=target 命令查看。,发现编译器的默认值不是neon。
2024-06-02 00:00:00
206
使用Android辅助功能AccessibilityService 进行自动化测试demo 源码
2024-06-07
2023-06-16 Android app 使用opencv 调用jni在图片上添加文字,对图片进行模糊处理,源码实例学习
2023-06-16
2023-06-16 Android Studio 使用CMakeList编译JNI ,源码
2023-06-15
2023-03-25 android app 用经典蓝牙socket方式数据传输实例
2023-03-25
Android app 使用android-serialport-api 实现串口通信 源码
2022-07-23
AndroidStudio-NDK开发 编译c代码提供so库和jar包 另外一个app调用,实例源码
2022-07-22
hello_hidl.rar
2021-10-27
iperf-2.0.5-master.zip
2021-05-22
frameworks_services_jni_hardware_kernel.zip
2021-04-27
RK3288 Android7.1 USB wifi bluetooth 模块RTL8821CU 调试资料.zip
2021-04-12
Android Studio 生成JAR包和调用JAR包方法 demo
2021-03-08
RK3288-Android7.1-华为移远域格4G模块调试记录所有文件.zip
2021-01-08
binder.zip
2020-11-04
android_app_server_demo.zip
2020-10-22
2020-10-20 Ubuntu 16.04安装配置Samba服务每个用户可以用自己的用户名和密码登录自己的home目录以及共享特定的目录配置smb.conf
2020-10-20
analyze_hdmi_edid.zip
2020-09-11
Android 开机自动启动一个Service
2020-08-28
Android APP:开机自动启动app demo 源码 autorundemo.zip
2020-06-17
settingdatebasedemo.zip
2020-06-11
popupwindow_demo.zip
2020-05-27
navigationbar.zip
2020-04-17
android linux i2c调试工具源码 i2c-tools-3.0.0.zip
2020-03-26
PreferencexmlDemo.zip
2020-01-02
PreferenceDemo.zip
2020-01-02
dynamic_register_jni.zip
2019-12-31
static_jni.zip
2019-12-31
dianzhen下位机AVRM16代码.zip
2019-12-20
MFC写的一个汉字取模软件
2019-12-20
interfaceservicecallback.zip
2019-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人