<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dc3120的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dc3120</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dc3120]]></copyright><item><title><![CDATA[Android：国内使用Battery Historian工具（免FQ）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/135059622</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/135059622</guid><author>dc3120</author><pubDate>Mon, 18 Dec 2023 12:13:18 +0800</pubDate><description><![CDATA[最近项目上遇到功耗类问题，需要用到Battery Historian工具来分析，但是发现需要FQ，所以对其进行了修改，使得可以不FQ也能用。]]></description><category></category></item><item><title><![CDATA[【exp】open中的 O_CLOEXEC 标志 （Linux C语言）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/128286598</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/128286598</guid><author>dc3120</author><pubDate>Mon, 12 Dec 2022 15:13:07 +0800</pubDate><description><![CDATA[当我们用execve执行其他程序的时候，全新的程序会替换子进程中的地址空间，数据段，堆栈，此时保存与父进程文件描述符也就不存在了，也无法进行关闭，这时候就需要FD_CLOEXEC, 表示子进程在执行exec的时候，该文件描述符就需要进行关闭。父进程在fork函数的时候，子进程会拷贝跟父进程一样的地址空间，包括寄存器，文件描述符，堆，栈等。中，一个线程将要设置O_CLOEXEC标志时，虽一个线程fork()，且先得到执行，导致打开的文件描述符泄露到子进程中。]]></description><category></category></item><item><title><![CDATA[[exp-Android] FAILED: ninja: external/ninja/src/deps_log.cc:631:(编译错误处理）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/126500646</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/126500646</guid><author>dc3120</author><pubDate>Wed, 24 Aug 2022 11:13:09 +0800</pubDate><description><![CDATA[处理方法：rm -rf out/soong/.bootstrap]]></description><category></category></item><item><title><![CDATA[【exp-linux】用aplay直接播放音频文件（mp3，wav）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/124683511</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/124683511</guid><author>dc3120</author><pubDate>Tue, 10 May 2022 11:00:40 +0800</pubDate><description><![CDATA[// 用audacity 将mp3转换成wav格式文件，就可以直接用aplay播放了：
// aplay播放MP3文件是杂音

aplay -l 可以查看音频播放设备有哪些

aplay xxx.wav 用默认设备播放

aplay -D plughw:1,0 xxx.wav // 用指定的设备播放











参考：

使用aplay实现音频播放 - kay880 - 博客园


...]]></description><category></category></item><item><title><![CDATA[【exp-Ubuntu】Firefox 不能打开网页问题处理]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/122479077</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/122479077</guid><author>dc3120</author><pubDate>Thu, 13 Jan 2022 17:43:17 +0800</pubDate><description><![CDATA[Firefox突然不能打开网页了，Chrome是正常的。

错误提示：


Firefox is already running, but is not responding. To use Firefox, you must first close the existing Firefox process, restart your device, or use a different profile.


错误日志：


MozCrashReason: Shutdown hanging at step ]]></description><category></category></item><item><title><![CDATA[【tools】zeal - API开发文档阅读工具（各种语言都有，C/C++/Java/Python/Andriod等）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/122428924</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/122428924</guid><author>dc3120</author><pubDate>Tue, 11 Jan 2022 12:03:38 +0800</pubDate><description><![CDATA[安装


sudo apt install zeal

启动


zeal

添加API文档：Docsets &gt;&gt; Available



查看：输入关键词搜索，或者直接点击API文档目录查看







参考：

官网：Zeal - Offline Documentation Browser （可能要tizi？）

c语言api文档_如何快速访问您喜欢的语言的API文档_cumifi2519的博客-优快云博客c语言api文档It’s no surprise that you ma...]]></description><category></category></item><item><title><![CDATA[【exp】Ubuntu系统从18.04升级到20.04后无法访问smb共享文件的问题解决办法]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/122192666</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/122192666</guid><author>dc3120</author><pubDate>Tue, 28 Dec 2021 14:32:22 +0800</pubDate><description><![CDATA[Ubuntu系统从18.04升级到20.04后，在文件管理中打开smb共享文件失败。查看系统日志 /var/log/syslog，发现异常log：
 Dec 28 14:37:52 duqs-MS-7B89 gvfsd[11088]: /usr/lib/gvfs/gvfsd-smb-browse: symbol lookup error: /usr/lib/gvfs/gvfsd-smb-browse: undefined symbol: smbc_setOptionProtocols, version SM]]></description><category></category></item><item><title><![CDATA[【exp】virtualbox 安装增强功能失败问题解决（vbox虚拟机, Ubuntu）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/121905819</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/121905819</guid><author>dc3120</author><pubDate>Mon, 13 Dec 2021 15:11:22 +0800</pubDate><description><![CDATA[错误log


未能加载虚拟光盘 /usr/share/virtualbox/VBoxGuestAdditions.iso 到虚拟电脑 elementaryOS.

Could not mount the media/drive '/usr/share/virtualbox/VBoxGuestAdditions.iso' (VERR_PDM_MEDIA_LOCKED).

返回 代码: NS_ERROR_FAILURE (0x80004005)
组件: ConsoleWrap
界面: IConsole ..]]></description><category></category></item><item><title><![CDATA[【exp】curl语句导入postman报错（Error while importing Curl: arg.startsWith is not a function）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/120816745</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/120816745</guid><author>dc3120</author><pubDate>Sun, 17 Oct 2021 21:43:48 +0800</pubDate><description><![CDATA[错误提示：



Error while importing Curl: arg.startsWith is not a function

解决办法：

将curl语句最后的分号去掉即可
]]></description><category></category></item><item><title><![CDATA[exp： Module not found: Error: Can‘t resolve ‘xxx/src/pages/user/register‘ in ‘xxx/src/.umi/core‘]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/119741380</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/119741380</guid><author>dc3120</author><pubDate>Mon, 16 Aug 2021 20:26:20 +0800</pubDate><description><![CDATA[Module not found: Error: Can't resolve 'xxx/src/pages/user/register' in 'xxx/src/.umi/core'
]]></description><category></category></item><item><title><![CDATA[exp：Linux命令 df -Th -t ext4]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/119056992</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/119056992</guid><author>dc3120</author><pubDate>Sat, 24 Jul 2021 13:24:59 +0800</pubDate><description><![CDATA[exp：Linux命令 df -Th -t ext4



-T： 打印文件类型

-t：只显示某个文件类型，比如ext4




$ df --help
用法：df [选项]... [文件]...
Show information about the file system on which each FILE resides,
or all file systems by default.

必选参数对长短选项同时适用。
  -a, --all             include pseudo, d]]></description><category></category></item><item><title><![CDATA[exp: Linux中如何查看显卡硬件信息（lshw/modinfo/glxinfo/OpenGL)]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/118194723</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/118194723</guid><author>dc3120</author><pubDate>Thu, 24 Jun 2021 19:21:35 +0800</pubDate><description><![CDATA[获取系统上的显卡信息：lspci -vnn | grep VGA -A 12
lshw -C display
要查看当前 Linux 系统上所使用的显卡驱动名称，同样可以使用 lshw 命令： sudo lshw -c video | grep configuration
其中一条为 driver=i915，我们则可以使用如下命令来检查显卡驱动的详情(另外一条操作类似)：
 modinfo i915
检查硬件加速
启用基于硬件的 3D 加速可以在绘制 3D 图形时直接使用硬件进行处理，这...]]></description><category></category></item><item><title><![CDATA[exp：搜索专利方法（专利汇）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/116532883</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/116532883</guid><author>dc3120</author><pubDate>Sat, 08 May 2021 16:32:38 +0800</pubDate><description><![CDATA[exp：搜索专利方法（专利汇）
选择高级搜索：
https://www.patenthub.cn/search/advanced.html


]]></description><category></category></item><item><title><![CDATA[exp：Postman代码生成功能]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/115738675</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/115738675</guid><author>dc3120</author><pubDate>Thu, 15 Apr 2021 20:32:13 +0800</pubDate><description><![CDATA[exp：Postman代码生成功能










]]></description><category></category></item><item><title><![CDATA[exp: Gerrit 查询提交记录]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/115415125</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/115415125</guid><author>dc3120</author><pubDate>Sat, 03 Apr 2021 13:17:32 +0800</pubDate><description><![CDATA[exp: Gerrit 查询提交记录

git log的参数很多可以直接用，比如下面的since参数：


查询某人从2021-4-1开始的合并的提交：
owner:xxx@xxx.com status:merged since:2021-4-1



参考：

gerrit自带的帮助文档：



Default Searches

Most basic searches can be viewed by clicking on a link along the top menu bar. The lin.]]></description><category></category></item><item><title><![CDATA[exp:  ubuntu18.04 docker 开启experimental功能]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/115274342</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/115274342</guid><author>dc3120</author><pubDate>Sun, 28 Mar 2021 00:08:51 +0800</pubDate><description><![CDATA[在/etc/docker/daemon.json文件中添加 "experimental": true 配置：

/etc/docker/daemon.json原来的内容：


{
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

添加 "experimental": true 后：


:/etc/docker$ cat daemon.json
{
    "registry-mirrors": ["https://do...]]></description><category></category></item><item><title><![CDATA[exp: 如何在WPS表格中进行特殊数据的分列 (Excel,表格，分裂，分列）（数据”菜单中“分列”）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/114652834</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/114652834</guid><author>dc3120</author><pubDate>Thu, 11 Mar 2021 09:51:02 +0800</pubDate><description><![CDATA[参考：

如何在WPS表格中进行特殊数据的分列

https://jingyan.baidu.com/article/ad310e8014ef2d1848f49e55.html


]]></description><category></category></item><item><title><![CDATA[exp: 从Android设备导出安装的apk文件]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/112999883</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/112999883</guid><author>dc3120</author><pubDate>Fri, 22 Jan 2021 20:05:18 +0800</pubDate><description><![CDATA[从Android设备导出安装的apk文件


1. 打开需要导出的APP，用下面的命令查看APP包名


adb shell dumpsys window | grep Focused

2. 查看apk路径


adb shell pm path &lt;pacakge name&gt;
#或者
adb shell pm -lf | grep &lt;pacakge name&gt;

3. 用adb拉取apk文件


adb pull xxx.apk
#或者换个名字
adb pull xxx.ap...]]></description><category></category></item><item><title><![CDATA[exp：Android Studio调试系统源码之断点修改变量的值（干货分享）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/112441538</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/112441538</guid><author>dc3120</author><pubDate>Sun, 10 Jan 2021 21:18:31 +0800</pubDate><description><![CDATA[Android Studio调试系统源码的环境配置可以参考下面的方式：

exp：Android Studio调试系统源码的方法 （干货分享）



演示

下面还是用Launcher程序来演示，添加断点，然后在运行时动态修改变量的值。



在要修改变量的地方添加断点





运行时查看断点处的值

运行到断点处暂停，在Debug的Variables界面会显示当前堆栈中的变量的指。

从下图中可以看出变量fling的值为 false：





打开断点设置变量界面

点击选中fling，在右击...]]></description><category></category></item><item><title><![CDATA[exp：Android Studio调试系统源码的方法 （干货分享）]]></title><link>https://blog.youkuaiyun.com/dc3120/article/details/112384879</link><guid>https://blog.youkuaiyun.com/dc3120/article/details/112384879</guid><author>dc3120</author><pubDate>Fri, 08 Jan 2021 22:14:45 +0800</pubDate><description><![CDATA[网上很多讲Android Studio调试系统源码的方法，看着眼馋，最近终于跑通了，分享下自己的经验！



目录

调试环境

导入系统源码的方法

导入系统源码后的一些配置

1 配置SDK

打开工程配置界面

配置工程的SDK，Android Q是API 29

配置Run/Debug Configurations

device列表变亮，表示环境ok，可以开始调试

开始调试

选择要调试的进程

添加断点，运行到断点时停住并显示调用栈

继续运行

停止调试





调试环境

ubun...]]></description><category></category></item></channel></rss>