自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

海月汐辰

日拱一卒无有尽 功不唐捐终入海

  • 博客(20)
  • 资源 (31)
  • 收藏
  • 关注

原创 2020-12-31 Android app应用如何调用系统关机菜单

Android app应用如何调用系统关机菜单一、在Android系统中,长按Power按键一定时间会弹出关机菜单,但是系统并没有提供相应的接口给应用开发者调用。二、分析\frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java里面代码。三、app可以发送一个android.intent.action.POWER_MENU广播调用关机界面...

2020-12-31 15:31:27 1014

原创 2020-12-31 GIT 获取上一次git pull 更新的时间

GIT 获取上一次git pull 更新的时间一、获取上一次git pull 更新的时间的命令:date -r .git/FETCH_HEAD二、脚本获取三、测试结果。

2020-12-31 11:29:32 1700

原创 2020-12-31 Linux Shell脚本if else 与或的用法

Linux Shell脚本if else 与或的用法一、关于判断,linux shell脚本中不是用else if而是用elif的写法。二、测试实例#!/bin/bashif [[ $1 = 'android' ]]; then echo "Input is android"elif [[ $1 = 'twitter' ]] || [[ $1 = 'youtube' ]];then echo "Input is...

2020-12-31 09:45:12 865

原创 2012-12-30 Linux shell脚本将命令执行的结果赋值给变量

Linux shell脚本将命令执行的结果赋值给变量一、命令格式:变量= `命令`,命令用反引号`;二、比如test.sh脚本。#!/bin/bashexport CURRENT_COMMIT_NUMBERexport CURRENT_TIMECURRENT_COMMIT_NUMBER=`git rev-parse HEAD`CURRENT_TIME=`date`echo CURRENT_COMMIT_NUMBER=$CURRENT_COMMIT_NUM...

2020-12-30 16:39:49 964 1

原创 2020-12-30 Android红外遥控器调制kl(KeyLayoutFile)文件的映射等知识点

Android红外遥控器调制kl(KeyLayoutFile)文件的映射等知识点一、红外遥控器kernel dts 配置大致如下。ir_remote_controller{ compatible ="giada,ir-int"; gpio-irq = <&gpio8 0 IRQ_TYPE_EDGE_FALLING>; status = "okay"; ir_key2{ rockchip,usercode = ...

2020-12-30 16:01:38 2155

原创 2020-12-30 Android ALOGV不打印但是ALOGI打印的问题

Android ALOGV不打印但是ALOGI打印的问题一、ALOGV V是verbose 冗长的,累赘的意思,有时候是不会打印的。二、如何打印ALOGV呢? 1、方法一:修改 system\core\include\log\log.h,下图红箭头指向的地方默认是0,不打印,改为1就可以了打印了。 2、添加#define LOG_NDEBUG 03、NDEBUG 是总开关,默认在编译参数中加入 #defi...

2020-12-30 14:32:40 3441

原创 2020-12-26 Android 读取以太网MAC地址信息

Android 读取以太网MAC地址信息一、adb 读取MAC方法 cat/sys/class/net/eth0/address。二、android app获取代码private static final String FILENAME_MAC = "/sys/class/net/eth0/address";private void setLanMacAddress(){ String mac =...

2020-12-26 17:19:01 2110

原创 2020-12-26 RK3288 MAC SN等厂商信息保存以及如何添加一个新的ID

RK3288 MAC SN等厂商信息保存一、MAC SN等厂商信息是保存在vendor storage区域,uboot, kernel, linux用户空间以及pc端都可以访问该区域。二、Vendor Storage的整个构架如下图:三、EMMC Data Layout。由下图可以看出vendor storage是从eMMC 3.5M之后开始存放,每个元素是64k,一共4块总共256k。四、数据存储结构体。...

2020-12-26 15:40:11 1865

原创 2020-12-25 单独编译Android frameworks目录下jni

单独编译Android frameworks目录下jni一、修改Android frameworks目录下jni的文件,在测试阶段,不需要耗费大量时间全部编译,可以单独编译这个模块,mmm frameworks/base/services/。二、例如我需要修改frameworks\base\services\core\jni\com_android_server_rkdisplay_RkDisplayModes.cpp这文件里面的内容。三、执行mmm fram...

2020-12-25 16:04:06 1478

原创 2020-12-25 git log 查找提交注释的关键字 git log --grep MAC 或者 git log --grep=MAC,注意grep前面是--。

git log 查找提交注释的关键字一、例如查找关键字MAC,使用git log --grep MAC 或者git log --grep=MAC,注意grep前面是--。二、只看某个作者的提交记录,git log --author name。三、在某个作者的提交记录里面查找关键字,git log --grep MAC --author name。四、实际操作效果如下:...

2020-12-25 15:27:26 1536

原创 2020-12-25 linux grep搜索某个字符串中包含任意字符或者任意字符串

linux grep搜索某个字符串中包含任意字符或者任意字符串一、匹配任意一个字符。grep使用正则表达式;.在正则表达式中表示“任何字符”。例如grep -rn 'aux.test' ,匹配aux和test之间有任意一个字符,可以匹配aux4test,aux5test,但是不匹配auxtest。二、匹配任意字符串。grep -rn 'hwc.*aux',匹配hwc和aux中间包含任意字符串的字符串。hwc.driver.aux和hwc.device.aux可以找到...

2020-12-25 10:37:16 2764

原创 2020-12-22 顺芯Audio IC ES8316 双录音通道切换

顺芯Audio IC ES8316 双录音通道切换一、ES8316典型应用电路。二、框架图。三、ES8316 有两路录音通道,可以软件选项哪一路工作,从下图可以知道修改0X22 REG 就可以变更通道。四、软件变更录音通道。...

2020-12-22 14:17:22 3652

原创 2020-12-18 Git 更新远程分支列表命令

Git 更新远程分支列表命令一、git branch -a 不出现远程新的分支或者远程已经没有的分支在本地还有,这时就用git remote update origin --prune更新本地的git分支保持和远程分支一致。也可以运行git fetch origin来同步远程服务器上的数据到本地。git remote update origin --prune或者git remote update origin -p然后git checkout -...

2020-12-18 17:37:13 9982 1

原创 2020-12-18 Linux regmap架构学习

Linux regmap架构学习一、内核3.1引入一套新的API regmap,目的是提取出关于I2C SPI irq等相关注册、使能以及读写的公共部分,以提高代码的可重用性,并且使得在使用如上内核基础组件时变得更为简单易用。主要目的是减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件上的寄存器。其实这就是内核做的一次重构。Regmap 除了能做到统一的 I/O 接口,还可以在驱动和硬件 IC 之...

2020-12-18 16:59:14 709 2

原创 2020-12-17 基于MOS-N 场效应管的双向电平转换电路

基于MOS-N 场效应管的双向电平转换电路一、双向电平转换电路,如下图所示,是MOS-N场效应管双向电平转换电路,R2和R3可根据实际情况添加或去除。适用于低频信号电平转换,价格低廉。导通后,压降比三极管小。正反向双向导通,相当于机械开关。电压型驱动,需要一定的驱动电流,而且有的应用也许比三极管大。二、双向传输原理: S1端输出低电平时(0V),MOS...

2020-12-17 10:56:07 1109

原创 2020-12-14 Linux 内核中根据函数指针输出函数名-kernel 关机和reboot代码,可以使用“%pF” 或 %pS。

Linux 内核中根据函数指针输出函数名一、kernel内核一个函数指针变量可能指向N多个函数,在开发调试的时候想获取这个函数指针对应的是哪个函数,可以使用“%pF”。printk("%s: %pF\n", __func__, pm_power_off);二、比如我的代码里面pm_power_off 可能指向这么多函数。三、在代码里面添加printk("%s: %pF\n", __func__, pm_power_off);就可以确认到底是调用哪...

2020-12-14 14:53:27 969 1

原创 2020-12-12 Linux 内核定时器应用 init_timer add_timer

Linux 内核定时器应用 init_timer add_timer一、定时器的结构体,kernel/include/linux/timer.h。二、相关的API函数。初始化定时器:void init_timer(struct timer_list * timer);增加定时器:void add_timer(struct timer_list * timer);删除定时器:int del_timer(struct ti...

2020-12-12 17:54:16 1448

原创 2020-12-12 linux date命令显示格式化的年月日时分秒

linux date命令显示格式化的年月日时分秒一、单独的date命令xxx@ubuntu:~$ dateSat Dec 12 16:19:21 CST 2020xxx@ubuntu:~$ 二、显示格式,提取对应的时间,+是与后面的格式连在一起的,一定要有。xxx@ubuntu:~$ date -d today +%Y%m%d%H%M%S20201212162042xxx@ubuntu:~$ date +%Y%m%d%H%M%S20201212162048xx...

2020-12-12 16:25:57 5583

原创 2020-12-11 RK系列 救砖头,强制进入maskrom模式

RK3288 RK3399 救砖头,强制进入maskrom模式一、因为各种原因导致按recover无法进入loader模式,无法烧录。我这边遇到的情况是烧录andriod10 固件后不知道为啥无法进入loader模式了。二、把EMMC_CLK 时钟线对地就可以短接emmc或者flash进入maskrom模式或者loader模式了,这样就可以重新刷固件了。把时钟clk对地,相当于就没有时钟信号出来了。三、一般pcb上都会留测试点,如下图。...

2020-12-11 11:11:55 10958

原创 2020-12-09 Android源码里面查看版本号的方法

Android源码里面查看版本号的方法一、执行下面的命令。PLATFORM_VERSION的值就是android版本号,我这里是android7.1.source build/envsetup.shlunch 对应的选项二、/build/make/core/version_default.mk文件中会有版本显示,查找PLATFORM_VERSION的值。PLATFORM_VERSION.xxx := xxx...

2020-12-09 11:24:21 2986

2012-12-12 下载ndk编译出so和可执行文件,放到android 真机运行

下载ndk编译出so和可执行文件,放到android 真机运行。

2023-12-12

2023-06-16 Android app 使用opencv 调用jni在图片上添加文字,对图片进行模糊处理,源码实例学习

2023-06-16 Android app 使用opencv 调用jni在图片上添加文字,对图片进行模糊处理,源码实例学习。

2023-06-16

2023-06-16 Android Studio 使用CMakeList编译JNI ,源码

2023-06-16 Android Studio 使用CMakeList编译JNI ,源码,直接build build apk直接一部编译成apk

2023-06-15

2023-03-25 android app 用经典蓝牙socket方式数据传输实例

具体看https://blog.csdn.net/qq_37858386/article/details/129768181

2023-03-25

Android APP 用interface 接口的形式对jni进行回调,实例测试

Android APP 用interface 接口的形式对jni进行回调,实例测试

2022-09-28

Android app 使用android-serialport-api 实现串口通信 源码

Android app 使用android-serialport-api 实现串口通信 源码

2022-07-23

AndroidStudio-NDK开发 编译c代码提供so库和jar包 另外一个app调用,实例源码

AndroidStudio-NDK开发 编译c代码提供so库和jar包 另外一个app调用,实例源码

2022-07-22

Android 源码里面添加一个系统app,最简单的app demo实例

Android 源码里面添加一个系统app,最简单的app demo实例。

2022-02-22

hello_hidl.rar

1、AndroidR HIDL服务实现应用层到HAL层通信实例。 2、详细介绍https://blog.csdn.net/qq_37858386/article/details/120989600。

2021-10-27

es7243调试资料.zip

es7243调试资料

2021-06-07

iperf-2.0.5-master.zip

1、Android 网络性能测试工具iperf 工具源码 2、把该源码放到路径android sdk路径external路径下然后mmm external/iperf-2.0.5-master 就可以编译出arm可执行bin 文件iperf了。

2021-05-22

frameworks_services_jni_hardware_kernel.zip

Android 理解frameworks services jni hardware kernel 整个控制过程实例包括回调 包含app demo 和底层驱动。

2021-04-27

RK3288 Android7.1 USB wifi bluetooth 模块RTL8821CU 调试资料.zip

RK3288 Android7.1 USB wifi bluetooth 模块RTL8821CU 调试记录

2021-04-12

Android Studio 生成JAR包和调用JAR包方法 demo

1、Android Studio 生成JAR包和调用JAR包方法。 2、Android Studio 4.1.2

2021-03-08

RK3288-Android7.1-华为移远域格4G模块调试记录所有文件.zip

1、RK3288-Android7.1-华为移远域格4G模块调试记录所有文件 2、包含域格、移远和域haiwei的so库。 3、目前测试CLM920 MU909 EC25

2021-01-08

binder.zip

1、Android Binder 进程通信应用实例 2、Android 基于linux内核开发,linux内核提供丰富的进程通信机制,如pipe、signal、message、share memory、socket,但android采用新的进程间通信机制binder。相比之下binder进程通信机制在传输数据时候只执行一次copy,效率高而且节省内存。

2020-11-04

static_library_demo.zip

1、Android 编译成静态编译库a以及调用实例,包含C源码。 2、在android真机运行测试ok。

2020-11-02

android_app_server_demo.zip

Android 简单后端服务器的搭建方法 1.android后端服务器搭建,需要用到 jsp+java+tomcat。 2.简单发生和接受数据。

2020-10-22

2020-10-20 Ubuntu 16.04安装配置Samba服务每个用户可以用自己的用户名和密码登录自己的home目录以及共享特定的目录配置smb.conf

2020-10-20 Ubuntu 16.04安装配置Samba服务每个用户可以用自己的用户名和密码登录自己的home目录以及共享特定的目录

2020-10-20

jnicallbackdemo.zip

1、jni 回调demo 源码。 2、运行环境android studio。 3、实例测试,不停的往上层回调发送信息,log看很直观。

2020-09-27

analyze_hdmi_edid.zip

1、C语言 解析Hdmi edid 信息数据 源码包。 2、ubuntu环境下编译和运行。 3、EDID: Extended Display Identification Data(扩展显示标识数据)

2020-09-11

nextouch_jni_demo.zip

1、Android:配置NDK并编译JNI文件so库 APP调用jni源码实例 2、app调用jni接口。

2020-09-10

Android 开机自动启动一个Service

Google在更新Android8.0后对Service的权限越发收紧。导致目前想要启动服务必需实现服务的前台化,打开应用才能顺利启动service,否则在服务启动5秒后,系统将自动报错,会弹出一个提示窗口。实际测试得系统的app才能启动service。

2020-08-28

Android APP:开机自动启动app demo 源码 autorundemo.zip

Android APP:开机自动启动app demo 源码 Android启动完成会发出一个系统广播 ACTION_BOOT_COMPLETED,字符串常量表示为 “android.intent.action.BOOT_COMPLETED”,我们要做的是用BroadcastReceiver接收这个消息然后启动该程序。

2020-06-17

settingdatebasedemo.zip

demo的功能一是向setting数据库某个key写value,然后读出来。功能二是侦听settings数据库里面某个key的value,如果改变会有提醒。

2020-06-11

popupwindow_demo.zip

1、PopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。 2、实例源码。

2020-05-27

navigationbar.zip

Android 8.1实现底部虚拟按钮NavigationBar的点击隐藏与滑动显示整个过程需要修改的完整代码,包含下面几个完整文件。 frameworks/base/packages/SystemUI/res/values-sw372dp/config.xml frameworks/base/packages/SystemUI/res/values-sw600dp/config.xml frameworks/base/packages/SystemUI/res/values-sw900dp/config.xml frameworks/base/packages/SystemUI/res/values/config.xml frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarInflaterView.java frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

2020-04-17

android linux i2c调试工具源码 i2c-tools-3.0.0.zip

1、 Android:i2c调试工具 i2c-tools 2、可以直接在android上编译。 3、或者用目录下的Makefile文件修改一下编译器路径进行编译。

2020-03-26

PreferencexmlDemo.zip

1、使用XML定义Preference。 2、运行环境android studio。 3、此方法有点过时,不太建议使用,但目前还可以用。让Activity继承PreferenceActivity,然后在重写onCreate方法,添加preferences.xml作为显示界面。

2020-01-02

PreferenceDemo.zip

1、使用Fragment 定义Preference 2、运行环境android studio。 3、Preference 是Android app中重要的控件之一,Settings 模块大部分都是通过Preference 实现的,这里将学习preference 使用方法。

2020-01-02

dynamic_register_jni.zip

1、JNI动态注册实例。 2、运行环境是Android studio。 3、动态注册是在JNi层实现的,JAVA层不需要关心,因为在system.load时就会去调用JNI_OnLoad,有就注册,没有就不注册。动态注册的原理:JNI 允许我们提供一个函数映射表,注册给 JVM,这样 JVM 就可以用函数映射表来调用相应的函数, 而不必通过函数名来查找相关函数(这个查找效率很低,函数名超级长)流程更加清晰可控,效率更高.。

2019-12-31

static_jni.zip

1、JNI静态注册实例。 2、运行环境Android studio。 3、静态注册原理:根据函数名来建立 java 方法与 JNI 函数的一一对应关系;在Java虚拟机加载so库时,如果发现含有上面两个宏定义的函数时就会链接到对应Java层的native方法,那么怎么知道对应Java中的哪个类的哪个native方法呢,我们仔细观察JNI函数名的构成其实是:以Java为前缀,并且用“_”下划线将包名、类名以及native方法名连接起来就是对应的JNI函数了。  其实就是:Java+包名+类名+方法名(native方法)

2019-12-31

dianzhen下位机AVRM16代码.zip

一、毕业有九年了,突然想起以前在大学时候用MFC写的一个汉字取模软件。主要的功能是在PC上获取汉字16X16点阵数据然后通过串口把点阵数据发送给AVR单片机点亮点阵。 二、下位机AVR单片机代码。

2019-12-20

MFC写的一个汉字取模软件

1、毕业有九年了,突然想起以前在大学时候用MFC写的一个汉字取模软件。主要的功能是在PC上获取汉字16X16点阵数据然后通过串口把点阵数据发送给AVR单片机点亮点阵。 2、这个是上位机MFC的代码。

2019-12-20

Canvas_draw.zip

1、运行环境android studio。 2、用canvas实现简单画板。 3、可以保存绘制的画板。

2019-12-05

interfaceservicecallback.zip

Android  app:回调方式实现Service向activity传递数据源码 运行环境:android studio

2019-11-21

空空如也

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

TA关注的人

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