- 博客(56)
- 资源 (5)
- 收藏
- 关注
原创 U-Boot系统定制、自定义命令
示例需要做一个简单的led灯控制程序,可以通过查看开发板原理图确定控制逻辑GPIO0_B7控制着三极管Q9300的通断,当GPIO0_B7处于H高电平时,2,3通电,二极管LED点亮,否则熄灭。要控制具体的GPIO口,需要计算出GPIO所处的numberGPIO number的计算:1.GPIOX_YZ中的X,代表GPIO处于的组,rk系列一般共5组,分别为为GPIO0,GPIO1,GPIO2,GPIO3,GPIO4;2.GPIOX_Y中的Y,代表IO口所处的小组,一般有A,B,C,D四个组;
2025-03-04 14:54:26
875
原创 OpenHarmony启动系统-U-Boot简介和源码下载与编译
Linux 系统要启动就必须有一个 bootloader 程序,也就说芯片上电以后先运行一段 bootloader 程序。这段 bootloader 程序会先初始化DDR等外设,然后将 Linux 内核从 FIaSh(NAND、NORFLASH、SD、MMC等)复制到 DDR中,最后启动 Linux 内核。bootoader 和 Linux 内核的关系就跟计算机的 BIOS 和Windows 的关系一样, bootloader 就相当于 BIOS。
2025-03-01 15:44:33
1054
原创 OpenHarmony构建系统实践-部件内so使用、跨部件模块依赖
..# 注:以上...}代表内容放在文件最后一级}下注:subsystem_config.json文件此处的"subsystem": "mycomptest"为bundle.json中的"subsystem": "mycomptest},...注:以上...]}代表以上内容放在文件中最后一级数组中config.json文件中此处的"subsystem":"mycomptest"为subsystem_config.json文件中的"name": "mycomptest。
2025-02-26 08:35:54
312
原创 OpenHarmony构建系统-GN与子系统、部件、模块理论与实践
..# 注:以上...}代表内容放在文件最后一级}下subsystem_config.json文件此处的"subsystem": "mycomptest"为bundle.json中的"subsystem": "mycomptest...注:以上...]}代表以上内容放在文件中最后一级数组中config.json文件中此处的"subsystem":"mycomptest"为subsystem_config.json文件中的"name": "mycomptestcompdemo1。
2025-02-22 13:42:16
1179
原创 OpenHarmonry 5.0.1源码下载与编译
Ubuntu 20.04.6 LTS默认安装python3.x系统,OpenHarmoney源码管理系统repo默认是使用的python,因此先通过软连接将python3.x链接到python命令也可访问。根据系统预装python差异,可通过命令查看预装版本,以此来确定以上命令版本键入值。预置环境:硬盘500G、内存32G、Ubuntu 20.04.6 LTS。四、构建OpenHarmoney源码管理系统repo。一、构建Openharmoney必须环境。五、下载Openharmony源码。
2025-02-17 09:12:03
395
原创 Ubuntu 20.04.6 LTS repo int 提示/usr/bin/env: “python“: 权限不够
其中/usr/bin/python3.8这个需要看ubuntu下具体的文件,/usr/bin/python即建立的软连接,enter后,通过命令输入python,如果又内容输出就代表成功了。这是由于ubuntu20.04默认安装的python3,将python命令配置i为了python3为软连接,此时只需要通过命令添加配置为python软连接即可。再repo init XXX即可。
2023-10-11 21:51:40
2056
原创 airplay协议简述
Airplay协议总结:Airplay可以将iPhone,iPad或iPodtouch等设备上的视频、音频以及图片传输到第三方认证设备上,一般是在AppleTV或Air port设备上,但其实,现在很多第三方的android设备也可以支持Airplay了,像阿里云或小米的盒子都支持Airplay投影了,而且效果都还不错。其实,Airplay算是苹果公司定义的一种协议,或是一种技术吧,所以,按照惯例,这项技术是不开源的,对外封闭。
2023-10-11 21:25:04
2616
原创 Android源码分析挖掘(一) 开天辟地init进程
首先以ActionManager和ServiceList通过GetInstance分别创建单例,然后调用LoadBootScripts函数传入参数,LoadBootScripts代码如下,可以看到会先去ro.boot.init_rc中读取配置,如果为空,会进入解析init.rc的流程,否则解析配置。再次回看/system/core/init/main.cpp源码,本次传入的参数是second_stage,结合代码可以看到,会进入到SecondStageMain这个函数中,同样的方式,搜索。
2023-10-11 21:07:54
295
原创 android studio导入android源码模块开发总结
以上命令执行后,tools/asuite/aidegen的源码会被编译为aidegen可执行文件。解决后,重新输入以上aidegen命令,生成成功后会自动打开对应idea。这是因为没有安装distutils造成的,输入如下命令即可解决。1.改动对应模块源码后,可通过如下命令重新编译生成apk。一、aidegen自动生成并导入android模块。2.生成apk后,可以通过两种方法查看效果。2.1.直接推送apk到emulator中。2.使用aidegen生成并自动导入模块。1.源码下载后,键入。
2023-10-04 22:57:17
915
原创 prebuilts/clang/host/linux-x86/clang-3289846/bin/clang.real: error while loading shared libraries:
ubuntu 20.04编译android源码时遇到问题,解决。
2023-09-28 19:59:08
676
原创 连接到会话 XXX 失败:Key exchange failed.No compatible key exchange method. The server supports t
修改服务器,兼容老系统的算法。
2023-09-27 15:32:51
1164
原创 ubuntu samba文件共享服务器搭建
为了实现Android源码在ubuntu的编译,在windows上进行源码的修改和验证,需要在ubuntu系统上搭建共享文件夹,这里将ubuntu的/home/用户/路径下的所有内容共享,方法如下。按住Win(图标是四个方块的按键) + R 调出运行弹窗,输入\\ip,其中ip是以上ubuntu中通过ifconfig出来的ip地址,然后回车。三、添加访问用户,注意:用户名必须是ubuntu存在的用户名,否则会添加失败。注:其中的“用户名”就是你ubuntu锁屏时的名称。五、查看ubuntu的ip。
2023-09-22 17:34:21
489
原创 编译源码报build/make/core/artifact_path_requirements.mk:26: error: Build failed.解决方法
【代码】编译源码报build/make/core/artifact_path_requirements.mk:26: error: Build failed.解决方法。
2023-09-18 20:23:20
800
原创 monkey测试Sending Key (ACTION_UP): 82 // KEYCODE_MENU异常分析和处理
系统提示我:Unable to add window -- token null is not valid;由于项目中代码很多,又没有其他错误,于是我决定写一个Helloworld真正什么都不干试一下。中,可是我的Activity明明好好的在前台放着,应该什么都没干,怎么会setView呢?追踪源码发现,报错的位置在ViewRootImpl的setView方法中的。这就奇怪了,HelloWorld里面什么代码都没写,难道系统出bug了?
2023-07-28 11:13:59
271
原创 清除Windows中多余ubuntu启动项UEFI
在windows搜索框输入notepad,会显示记事本,选中->右键->以管理员身份运行->打开->进入到K磁盘中->进入UEFI目录->删除ubuntu文件夹即可。输入assign letter=K,将这个分区创建一个驱动挂载盘,此时进入我的电脑可以看到有一个挂载盘存在,但是并不能直接打开。输入sel part x,这个x是以上命令中显示出来的“系统”所对应的分区标识,一般是1,2。输入lis part,回车,会显示你当前磁盘的所有分区。dis x,这个x一般是1,0一般是本地磁盘,回车。
2023-06-07 12:50:21
1506
原创 libusb与usbmuxd协议
两大网站搜索/下载/依赖jar包1.os x上,苹果有一个服务,叫usbmuxd,这个服务主要用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信。苹果的iTunes,,都直接或者间接地用到了这个服务。2.那么问题来了,如何让iDevice通过苹果的数据线和mac通信?其实不止是mac,只要pc上提供usbmuxd服务,就可以和iDevice通信,通过TCP.3.libimobiledevice,可以在上找到它。
2022-08-25 10:39:33
598
原创 ADB协议解析说明
系统标识字符串应该是"::",其中systemtype是"bootloader", "device",或"host", serialno一般是唯一ID或空值,banner是人类可识别的版本或标识符字符串,一般是有意义的属性。目前有两种运输方式:—USB传输,物理设备通过USB传输—本地传输,对于运行在主机上的模拟器,通过TCP连接到服务器理论上,应该可以编写代理的本地传输ADB服务器与连接到另一台机器/运行在另一台机器上的设备/模拟器之间的连接。
2022-08-24 13:22:39
3642
原创 Windows清除U盘隐藏区域(去除U盘启动)
做过U盘启动的都知道,直接格式化U盘是没有用的,隐藏区域的大小并没有被清除掉,这个时候我们可以采用制作U盘启动的工具去清除,当然,还有更简单的清除的方法,不需要下载任何软件,具体如下:首先Win+R打开命令窗口,输入diskpart,回车,在弹出的窗口中输入lis dis,回车,会显示你当前的磁盘和U盘输入sel dis x,这个x一般是1,0一般是本地磁盘,回车输入clean,回车,将会清除U盘中所有内容,清除后,这时U盘是不能被系统识别的,需要创建一个主分区输入create partition prim
2022-07-03 08:13:42
2521
2
原创 音视频编解码原理(四) H.264码流组成/哥伦布编码
上一章介绍了H.264帧间编码原理,本章开始介绍H.264码流组成组成H.264码流的结构主要包含以下几个部分,从大到小排序一次是:H.264视频序列、GOP、图像、片组(slice集合)、片(slice)、NALU、宏块、像素。H.264视频序列:一段视频GOP:从I帧到下一个I帧之间的内容图像:视频中的一帧片组(slice集合):片的集合片(slice):一大块像素数据NALU:00 00 00 01 或 00 00 01标志一个NALU单元的开始宏块:被信源编码器划
2022-01-28 17:18:42
1837
原创 音视频编解码原理(三) H.264帧间编码原理
由上一章了解到H.264帧内编码的基本原理,本章介绍帧间编码原理首先看一下视频的下面两帧图片其中除了车子和镜头在移动,帧间大部分内容并没有发生大的改变,以车子的车牌为例,车牌向左移动了,就是宏块位置发生了变化,在第二帧中,就不用编码宏块的左侧和上侧的像素信息,只需要记录宏块的坐标信息(运动矢量),从而减少编码和传输的数据量。由此可以归纳出,假如第一帧图像为I帧,那么第二帧运动矢量图像可能是B帧也可能是P帧,取决于H.264内部算法,无需应用关心。为了方便解释,可以做如下总结:
2022-01-28 14:49:49
1219
原创 音视频编解码原理(二) H.264帧内编码原理
上一章介绍了音视频封装格式和音视频编码格式,本章开始介绍H.264原理说到H.264,首先不得不提到作为奠基鼻祖的H.261,其主要的贡献有:1.帧内编码第一次根据帧内的像素趋于统一而采用帧内预测编码技术2.帧间编码(运动补偿)使用以宏块为基础的运动补偿预测编码技术,从当前宏块参考帧中产生最佳匹配宏块3.环路滤波器实际上是一个数字低筒滤波器,滤除不必要的高频信息4.块结构的混合编码第一种采用“块结构的混合编码”方案的编码标准本章主要介绍帧内编码原理。H.2
2022-01-28 13:14:52
2626
原创 音视频编解码原理(一) 封装格式和编码方式简介
一、封装格式要了解音视频编解码原理,首先需要了解什么是封装格式? 所谓封装格式,就是将已经编码压缩好的视频轨和音频轨按照一定的格式封装到一个文件中,一般情况下,不同的封装格式对应不同文件后缀,例如:视频文件格式 视频封装格式 .avi AVI(Audio Video Interleaved) .mp4 .3gp .mpeg .mpg MPEG(Moving Picture Experts Group) .flv Flash Video .rm...
2022-01-28 10:53:19
2538
原创 Android分屏显示(多窗口支持) 开发总结
最近公司有分屏显示需求,遇到几点问题 ,在此记录,以做备忘。我所谓的分屏显示,是在同一个界面内,分屏显示两个app的界面注意点1:系统好像没有获取应用显示的左右或者上下位置的方法,所以我采用迂回战略,使用getWindow().getDecorView().findViewById(android.R.id.content).post(new Runnable() { @Override public void run() { int[] out
2022-01-26 18:01:48
7114
7
转载 android 7.1以后以太网与wifi不能共存问题解决方案
Android以太网和wifi共存并设置Wif优先级最高 - 简书在Android5.0以后网络请求的优先级,不在以devcie下的config文件配置的顺序为主,而根据网络的连接状态,等其他因素综合动态评分机制,进行判断优先级。 默认的优...https://www.jianshu.com/p/76076df0df92...
2021-11-12 17:15:37
1436
原创 JVM与Android虚拟机解析
有段时间没有更新博客了,事出必有妖,我先来阐述一下写本系列博客的来由:前段时间老板思想又有点邪恶了,总想破解别人的软件,让我研究研究。于是我在膜拜之余也四方打探,决定从java字节码指令集和dalvik虚拟机的arm指令集入手,虽然后来由于非安全领域专业人员,就放弃了,不过对于技术来说,研究的价值不可遗失,遂成此博客。当然本篇博客只会分析Java字节码解析和Android机器码解析,让那些邪恶的想法先消停消停,当然,有条件的同学,单凭看懂此篇的智慧,应该也不是什么难事。话归正题,接下来让我们一起揭开
2021-04-21 12:16:48
599
1
原创 编译faac音频编码库
faac是MPEG-4和MPEG-2的AAC编码器,我们将使用它作为音频的软编码库。一、下载faac官网:http://faac.sourceforge.net这里使用ubuntu命令行下载,这里下载可能稍慢,耐心等待下载完成sudo wget https://nchc.dl.sourceforge.net/project/faac/faac-src/faac-1.29/faac-1.29.9.2.tar.gz下载完成,使用以下指令解压tar xvf faac-...
2021-01-24 23:58:44
1243
5
原创 编译x264视频编码库
X264作为H264视频编码最好用的有损视频软编码器之一,其性能比FFmpeg中实现的内置编码算法性能更好,其功能强大无以言表。但遗憾的是只能编码为H264,无法编码为H265等其他视频编码格式,本章主要实现通过使用X264源码编译出android中可以使用的X264编码器。一、下载X264官网地址:https://www.videolan.org/developers/x264.html这里使用ubuntu命令行下载1. 因为x264是使用git来管理的,所以如果没有安装gi...
2021-01-24 22:55:15
1581
原创 交叉编译环境搭建与测试
一、什么是交叉编译 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:1. 体系结构(Architecture)2. 操作系统(OperatingSystem)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说: 我们常说...
2021-01-23 14:24:18
6761
原创 文字识别(三) android中使用Tesseract实现文字识别
前两章介绍了如何使用Tesseract和jTessBoxEditor制作样本和训练样本文件,本章介绍如何在android中使用训练好的xxx.traineddataandroid办大事必备图因为Tesseract使用C++实现的,在Android中不能直接使用,需要封装JavaAPI才能在Android平台中进行调用,这里我们直接使用TessTwo项目,tess-two是TesseraToolsForAndroid的一个git分支,使用简单Tess-two在git上地址为:https://g
2021-01-22 23:06:22
1783
3
原创 文字识别(二) Tesseract识别与jTessBoxEditor样本训练
《一》准备样本文件1.样本文件可使用系统画图工具绘制样本文件,数量越多越好,作为训练的数据,如图注:样本图像文件保存格式必须为.tif结尾或.tiff结尾的格式,否则在Merge样本文件的过程中会出现 Couldn’t Seek 错误,如图《二》训练样本在jTessBoxEditor目录下找到【train.bat】,双击打开 jTessBoxEditor,如图点击菜单栏【Tools 】->【Merge TIFF】...
2021-01-22 17:55:39
2424
原创 文字识别(一) Tesseract识别与jTessBoxEditor环境搭建
一、Tesseract安装下载方式一:tesseract官方下载地址https://digi.bib.uni-mannheim.de/tesseract/其中带有dev的是开发版,不带的是稳定版,可以选择稳定版下载。下载方式二:第一种方式如果没有进行科学上网,可能下不下来,这时候可以使用第二种方式。1.进入 https://github.com/tesseract-ocr/tesseract找到如下图所示,点击2.进入到https://tesserac..
2021-01-21 22:36:36
1390
原创 rtmp协议解析
在介绍主要内容之前,先介绍一下当前各协议的应用场景 RTMP:一般用作直播,允许丢包 RTSP:一般用作安防,不允许丢包 RTP:一般用作音视频通话,允许丢包,低延迟 HLS:即Http Live Stream,苹果公司封装的基于http协议的直播协议然后介绍一下短视频和直播的区别:短视频和直播都要控制数据量的大小,可以根据其特点和应用场景调整参数。 短视频:根据其对实时性无要求,对帧率要求较高,不能出现卡顿掉帧的情况。可以拉长I帧间隔,即gop间...
2021-01-17 21:21:56
729
原创 ubuntu 依赖安装pcre 、openssl、zlib指令
使用dpkg命令查看自己需要的软件是否安装。例如查看pcre是否安装:dpkg -l | grep pcre解决依赖包openssl安装,命令:sudo apt-get install openssl libssl-dev解决依赖包pcre安装,命令:sudo apt-get install libpcre3 libpcre3-dev解决依赖包zlib安装,命令:sudo apt-get install zlib1g-dev...
2021-01-16 17:56:55
6439
原创 本地java项目调用jni
一、环境搭建 1.jdk环境搭建(这个就不说了) 2.安装MinGW,官网可能下载较慢,这里我提供下载地址 提取码:nbc3配置下MinGw的环境变量
2020-12-22 18:54:17
2601
原创 opencv篇(二) 配置windows环境
各位不好意思,因为这段时间对go语言比较热衷,所以学习了一波,接下来我们继续之前的opencv攻坚。本篇内容为:配置windows的opencv环境。如此,我从攻坚篇(一)中盗了张图过来,本篇就从算开始了双击666...错了,重来!!1.双击上图中三原色的.exe文件,安装opencv到自己喜欢的位置,比如我就安装在D:\java\opencv_sdk目录下,各位随意1.双击图标是那个三原色的.exe文件,安装到自己喜欢的位置,比如我就安装在D:\java\opencv_sdk目
2020-11-19 22:00:07
574
原创 opencv篇(一) ndk运行环境搭建
因公司业务需求,需要涉及到计算机视觉之类的知识,出于增强记忆和乐于分享的目的,在此记录下本技术完整流程!首先,亮一下本屌的开发工具启动界面,本篇就算正式开始了!一、android studio配置1.首先创建一个没有什么卵用的...
2020-04-27 23:16:10
1272
原创 tomcat https配置
参考https://blog.youkuaiyun.com/qq_37581115/article/details/81712763
2020-01-03 17:11:35
157
原创 Flutter:Could not find an option named "androidx". Run 'flutter -h'..解决方案
请参考:https://stackoverflow.com/questions/58236340/androidx-error-creating-new-flutter-project-in-android-studio即可解决。
2019-11-03 18:14:20
4754
原创 运单号获取用户手机号
遇到一个需求,需要通过扫描运单号获取手机人手机号信息,这个功能主要运用于快递柜扫描单号快捷入库,百度了一波,说什么的都有,下面分享一下从百度上分享到的答案:一、有这种接口的,但是一般都是不会公开的。你要就要跟每个公司去谈,除非你公司有足够的能力吧,具体的你可以看菜鸟他的系统我知道是直接扫描的,肯定用的是这种接口二、这个好像有点儿不现实 以前的时候见快递小哥都是手动输入手机号短信通知,...
2019-09-22 12:15:53
10156
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人