- 博客(38)
- 资源 (7)
- 收藏
- 关注
原创 【经验总结】Ubuntu 22.04.5 LTS 将内核从5.15.0-140 升级到6.8.0-60后纽曼无线网卡无法使用解决措施
遇到软件问题不要慌,可以多跟大模型交流一下,我这里使用的事360多纳米AI 大模型 https://bot.n.cn/,你也可以使用其他的大模型,非常方便。
2025-05-10 08:20:26
1055
原创 【教程】仅仅编译vlc-android apk的指导 2023-3-26
经过尝试,在不需要修改vlc以及vlc-jni的情况下,仅仅编译App,是不需要非常复杂的配置,仅仅需要调整一个build.gradle文件之后,就可以快速编译通过。方法一:源代码导入到Android-Studio 之后,选择app模块的 assembleSignedRelease task,执行就可以了。配置好Android-Studio 和Android SDK的开发环境,这种教程太多,自行百度。方法二:编译vlc-android apk。
2023-03-26 13:40:28
1206
原创 【教程】EasyConnect 在 20.04.1-Ubuntu 安装实战
此时如果在应用列表中点击 EasyConnect 图标,没有反应,这个是由于EasyConnect依赖的pango 动态库比较旧,与系统中的新版本不兼容。需要安装后文中的补丁,才能启动。下边就可以愉快的使用了,在启动界面输入 https://xxx.xxx.xxx.xxx 格式的地址,点击连接就可以了。将deb 文件直接解压缩就可以了,不要安装。如果遇到如下提示,可以忽略。
2022-11-30 10:44:50
2747
原创 【ResourceManagerService 分析】第九篇:MediaCodec 的 init(),configure(),start() 函数的调用 reclaimResource()的逻辑
MediaCodec 的 init() 函数的调用 reclaimResource()的逻辑// NO_MEMORY 的原因基本上是超宏块static bool isResourceError(status_t err) { return (err == NO_MEMORY);}// reset() 的时候会调用, 创建 MediaCodec CreateByType(),CreateByComponentName() 的时候会调用status_t MediaCodec::init(co
2022-01-31 18:21:47
1058
原创 【ResourceManagerService 分析】第八篇:MediaResource 分析
frameworks/av/services/mediaresourcemanager/aidl/android/media/MediaResourceType.aidlenum MediaResourceType { kUnspecified = 0, kSecureCodec = 1, kNonSecureCodec = 2, kGraphicMemory = 3, kCpuBoost = 4, kBattery = 5, kDrmSession
2022-01-23 22:59:52
1743
原创 【ResourceManagerService 分析】第八篇:核心函数 reclaimResource 分析 --未完待续
frameworks/av/services/mediaresourcemanager/ResourceManagerService.cppStatus ResourceManagerService::reclaimResource( int32_t callingPid, const std::vector<MediaResourceParcel>& resources, bool* _aidl_return) { // 增加调
2022-01-23 22:58:16
623
原创 【ResourceManagerService 分析】第七篇:ResourceObserverService 服务分析
ResourceObserverService 服务注册frameworks/av/services/mediaresourcemanager/ResourceObserverService.cppcpp//staticstd::shared_ptr<ResourceObserverService> ResourceObserverService::instantiate() { std::shared_ptr<ResourceObserverService> obse
2022-01-23 22:57:10
1384
原创 【ResourceManagerService 分析】第六篇:DeathNotifier 详解
在ResourceManagerService 类中有大量的 DeathNotifier 的使用frameworks/av/services/mediaresourcemanager/ResourceManagerService.cpp//staticstd::map<uintptr_t, sp<DeathNotifier> > ResourceManagerService::sCookieToDeathNotifierMap;class DeathNotifier : p
2022-01-23 22:54:41
561
原创 【ResourceManagerService 分析】第五篇:ScopedAIBinder_DeathRecipient 详解
这里将 mDeathRecipient的初始化简单分析下,::ndk::ScopedAIBinder_DeathRecipient mDeathRecipient;ScopedAIBinder_DeathRecipient 定义在 frameworks/native/libs/binder/ndk/include_cpp/android/binder_auto_utils.h/** * Convenience wrapper. See AIBinder_DeathRecipient. */c
2022-01-23 22:51:09
1765
原创 【ResourceManagerService 分析】第四篇:ServiceLog 内存中保存资源的操作 log
代码位置frameworks/av/services/mediaresourcemanager/ServiceLog.hclass ServiceLog : public RefBase {public: ServiceLog(); // 这里强制构造ServiceLog对象的时候,必须设置保存log的最大条数,由于是保存到内存中的,使用内存的上限是控制的。 explicit ServiceLog(size_t maxNum); // 增加 log void
2022-01-23 22:49:05
450
原创 【ResourceManagerService 分析】第三篇:SystemCallbackImpl 电量管理 BatteryNotifier 的代理+ CpuSet 提升等级的入口
SystemCallbackInterface 接口定义在头文件中,定义了四个public的函数frameworks/av/services/mediaresourcemanager/ResourceManagerService.hclass ResourceManagerService : public BnResourceManagerService {public: struct SystemCallbackInterface : public RefBase { //
2022-01-23 22:48:10
1815
原创 【ResourceManagerService 分析】第二篇:持有便解码器资源的进程状态大管家 ProcessInfo
从代码可以看出,重要的结构体 ProcessInfoInterface , 先看一下代码定义frameworks/av/media/libstagefright/include/media/stagefright/ProcessInfoInterface.hstruct ProcessInfoInterface : public RefBase { // 根据 pid 获取 该进程的优先级 virtual bool getPriority(int pid, int* priority)
2022-01-23 22:47:02
1216
原创 【ResourceManagerService 分析】第一篇:ResourceManagerService 服务注册
ResourceManagerService 是Android中的编解码器资源管理的服务,负责资源的创建,回收等代码路径如下/frameworks/av/services/mediaresourcemanager/frameworks/av/services/mediaresourcemanager/aidl/android/media/[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AZDXFkp8-1642948923751)(img/image-20220123
2022-01-23 22:44:32
2002
原创 【ubuntu20.04】安装百度输入法和搜狗输入法之后,有登陆界面,登陆之后黑屏,只有鼠标可以移动,点击无效,长时间等待提示“连接失败,请注销后重试”
参考文章https://blog.csdn.net/hgtjcxy/article/details/90645838步骤如下:ctrl+alt+F4 进入命令行的界面,备注:F2~F7 自己尝试一下,哪个可以进入都可以,然后使用账号和密码登陆,登陆成功后卸载搜狗输入法sudo apt-get remove sogoupinyinsudo apt-get autoremove 卸载百度输入法sudo dpkg --purge remove fcitx-baidupinyin:am
2022-01-02 11:55:02
3241
1
原创 【Android Studio 使用】Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
问题现象如下图所示,修复方法也在图中
2021-11-21 22:00:50
2384
原创 Ubuntu 20.04 Please reinstall Android Studio from scratch
"Missing essential plugin: org.jetbrains.kotlinPlease reinstall Android Studio from scratch."修复方法,无需重新安装Android Studio,只需要删除如下两个目录就可以了/home/{your home name}/.config/Google//home/{your home name}/.local/share/Google注意:如果删除了以上两个目录,相当于重新配置AndroidStud
2021-11-19 23:05:20
3901
原创 BHM-AN10 OTG 刷机 记录 2021-10-18
缘起:手机刷的是dex版本并且是ROOT的,由于没有刷机包,先后尝试了在线升级,使用HiSuite进行版本重新刷都不行。最后只能花了3元钱,在网上买了一个sd 卡刷机包BMH-AN10_11.0.0.176(C00E174R6P3)_Firmware_EMUI11.0.0_05016PLR.zip购买网址:https://onfix.cn/rom?bid=6&mid=26480如下图所示:刷机指导:https://onfix.cn/course/547?bid=6&mid=2
2021-10-18 22:02:11
1803
原创 【R版本 MediaProvider 深入分析】第一章: 安装包的 变化
第一篇:R版本 MediaProvider的 安装包变化在Android R 版本开始 MediaProvider已经Module化了, 交付件由单一的MediaProvider 变化成了 com.android.mediaprovider.apex 文件。具体的编译bp文件如下:apex { name: "com.android.mediaprovider", // apex 文件名字 defaults: ["com.android.mediaprovider-defaults"],
2021-03-26 22:42:58
1391
2
原创 【经验】为什么Android手机连接USB后查看手机内部图片有些有缩略图,有些显示图标?
【经验】为什么Android手机连接USB后查看手机内部图片有些有缩略图,有些显示图标?一、图片内嵌缩略图原理这是什么原理呢?因为现在JPEG的文件采用了压缩的方式,其过程比较复杂。为了能让大家快速查看其缩略图,JPEG标准在文件中记录了一些EXIF信息。数码照相机拍出的图片带有相机的很多参数,这都属于EXIF信息,其中缩略图也是一部分。缩略图是一幅较小的 JPEG 图片,存储在EXIF信息段。支持 EXIF 信息内嵌缩略图数据库图片的片格式的图片除了 JPEG 格式(.jpg、.jpeg、.jpe
2021-03-26 21:43:41
1385
原创 Typora 工具使用- 自动保存 复制文章中的图片到指定的相对目录下(例子:当前目录的./img/目录下,并自动命名)
最近发现了Typora 有个将 从网络复制的文章中的图片自动保存到指定目录的功能,十分实用。具体操作方法如下图所示:第一步:选择的目录,可以使用提示的正则表达式。第二步:勾选必要选项配置我这边一般保存到当前目录下的img目录下,如下图所示:按照下图红框的选项勾选,否则网络文章复制,图片不会自动保存。...
2021-03-20 21:53:33
983
原创 国内Android App工程搭建优化
国内Android App工程搭建优化加速获取gradle 压缩包将 gradle\wrapper\gradle-wrapper.properties 中 distributionUrl的值修改成如下内容,版本号自己修改,可以加快下载gralde包的速度。distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-6.5-bin.zip加速拉取工程依赖包在线下载将工程最外层的build.gradle中的 google()和jcen
2021-02-11 09:21:02
206
原创 【解决方法】No signature of method: build_5woso1t2zz3j65kzgsuf20yp6.android() is applicable
【解决方法】No signature of method: build 编译错误的方法编译出错信息如下所示原因分析解决措施编译出错信息如下所示A problem occurred evaluating project ':app'.No signature of method: build_5woso1t2zz3j65kzgsuf20yp6.android() is applicable for argument types: (build_5woso1t2zz3j65kzgsuf20yp6$_run
2021-02-11 09:10:18
46004
5
原创 下载 MacOSX sdk 10.11,10.12,10.13 百度网盘链接
补充 下载 MacOSSdk 10.11,10.12,10.13链接:https://pan.baidu.com/s/1HupcxYqGlMQ2FlwZwFUAXQ 密码:8xdi
2019-08-25 17:21:17
7669
1
原创 Java 远程调试(Remote Debug) 的参数含义说明
调试微服务都后台时,一直使用java的远程调试功能,都是按照平台帮助文档中提供的调试方法直接操作的,修改微服务(Tomcat) 启动的脚本文件,修改JAVA_OPTS参数,增加如下代码JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"保存修改后,重启微服务,就...
2019-07-07 17:01:33
3184
1
原创 Java 计算数学表达式支持(max, min)
如何用代码实现19+(1+9)*10-MAX(1+3,MIN(32,22))/11这样的表达式结果?学过编译原理的同学,一定知道,解析数学表达式,将中缀表达式转换成后缀表达式,然后计算数学表达式的结果。百度一下可以有很多帖子解决了常见的±*/()。但是对于max(a,b,c…),min(a,b,c…) 这样的表达式,该如何去实现呢?参考博客不定量变量运算转后缀表达式的一个方法java的...
2019-07-06 01:47:33
5896
8
原创 【shell】批量重命名 当前目录下的 .rar 分卷,删除.rar文件名称
遍历当前目录下的所有文件,当文件名称包含 rar 字符串时,将rar 分卷 的名字重命名为 删除.rar的名字。for f in `ls .`;do echo ${f}; result=$(echo "${f}" | grep "rar" ); if [[ "$result" != "" ]];then echo "old file name is ${f}, new file ...
2019-02-17 10:10:30
610
原创 VSCode 某行报语法错误,删除该行的一个分号需要点击两次delete键
https://juejin.im/entry/5a806ddef265da4e84092eeb原因如上博客所说,是由于Mac版本的VSCode的有一个bug,对于控制字符是隐藏的,这会导致,明明代码写得没有问题,但是当,编译的时候,总是报语法错误,仔细检查也没有看出来。规避方法:在Settings.json中配置自定义配置如下所示:{ "editor.renderContro...
2018-12-23 14:55:12
154
原创 解压缩tar.Z 报错 compress: Cannot exec: No such file or directory
错误信息如下图所示:经过排查,发现只需要将tar的参数Z修改成 z就可以了#tar -xzvf ./progs.tar.Z在此记录一下
2018-11-03 18:53:07
2650
原创 Unicode 编码中文 + 未编码中文符号 转换成UTF-8 中文 python实现
将xxxx_zh_CN.properties 文件转换成可以阅读的中文有很多方法,本篇文章,将使用python3来实现一下:#!/usr/bin/python3# -- encoding utf-8--import osdef parser_unicode(src_string): """ parser unicode string to utf-8 string
2018-01-05 23:10:53
970
原创 【ReactJS 初体验】Module build failed: TypeError: fileSystem.statSync is not a function
一直跟着视频学习,有现成到代码,今天突然间删除来node_modules 目录之后,执行 cnpm install 之后,然后执行webpack –watch 之后如下到错误:经过尝试发现是没有保存webpack导致。还是对npm,webpack使用不熟。
2017-12-17 19:14:21
3744
原创 华为荣耀路由Pro 上网慢解决方法
如果你使用荣耀路由Pro,发现家里100Mbps的网络编程了100kbps,请不要惊讶,八成是因为你家周围的wifi太过于复杂了。 我因为这个事情都要骂娘了,经过各种搜索,各种尝试,发现了如下的方法: 将wifi 设置,中的如下内容修改了就可以解决大部分的wifi上网慢的问题。
2017-08-15 22:08:41
15665
原创 Wireshark学习FTP流程
一.Wireshark概述在windows下,图1 Wireshark界面展示(基于1.99.1) Wireshark是通过底层的winpcap来实现抓包的。winpcap是用于网络封包抓取的一套工具,可适用于32/64位的操作平台上解析网络封包,包含了数据包截获驱动程序,一个底层动态链接库,和一个高层静态链接库,winpcap在内核中把所有网卡收到的报文复制一份。
2015-01-25 12:01:46
10920
原创 fragment切换到含有surfaceView的fragment,黑屏的问题的解决方案
问题描述:一个Activity中有两个个fragment,第一个fragment执行完毕然后启动第二个fragment,第二个fragment布局中含有一个SurfaceView用来播放视频,从第一个fragment切换到第二个fragment时,屏幕会全屏的黑一下,然后显示第二个fragment的内容。调查过程:1:曾经遇到过Activity之间切换加载慢的问题,原因是第二个Ac
2015-01-06 21:40:46
7590
原创 Kitkat小屏幕模式单手操作研究之wm命令的实现方式分析
第二节:wm命令的实现方式分析 wm命令是在Wm.java文件中实现的。我们来分析一下执行的过程: 通过上述的可以看出是在adb shell中调用wm命令,可以知道wm是一个可执行文件,那么对于java类来说入口方法时main()方法。所以来看Wm类的main()方法如下:public static void main(String[] args) { (ne
2014-11-29 20:27:56
4110
原创 Kitkat的加密功能对应用做了什么?
Android 加密后,启动到输入加密密码的界面时,此时许多Android自带功能是无法工作的,那么Android究竟做了些什么来完成此功能?有哪些东西是我们在以前看代码中忽略的东西---coreApp关键字。一起看coreApp关键字对于加密功能的作用。
2014-11-12 21:10:43
1859
原创 Kitkat中对class core, class main, class late_start的简单分析
在分析Kitkat加密功能的时候,遇到了
2014-09-27 20:30:10
13521
RxJava 响应式编程(主要是RxJava1 最后一张有1和2的比较).zip
2019-08-10
Effective Java(中文版第3版).pdf.zip 自用,请勿下载
2019-05-20
通过Wireshark学习FTP流程—数据包.z03
2015-01-25
通过Wireshark学习FTP流程—数据包.z02
2015-01-25
通过Wireshark学习FTP流程—数据包.z01
2015-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人