<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[China_Style的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/China_Style</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; China_Style]]></copyright><item><title><![CDATA[问题记录：树莓派3B+安装OpenMediaVault(OMV)后无WiFi连接处理]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/141601119</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/141601119</guid><author>China_Style</author><pubDate>Tue, 27 Aug 2024 14:35:38 +0800</pubDate><description><![CDATA[树莓派3B+ 安装OpenMediaVault后，eth0, wlan0配置都没有了，然后根据教程的评论，使用sudo ovm-firstaid命令修复，重新配置网络。博客记了关键操作步骤。]]></description><category></category></item><item><title><![CDATA[问题记录：树莓派3B+ RaspberryPi OS bookworm(Debian12)系统点亮SSD1306驱动OLED屏]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/141534720</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/141534720</guid><author>China_Style</author><pubDate>Sun, 25 Aug 2024 23:46:59 +0800</pubDate><description><![CDATA[树莓派3B+硬件，版本更新到了目前最新的 raspios bookworm（Debian 12）版本，旧版系统上有正常点亮的SSD1306驱动128x64 oled屏和python程序，准备恢复点亮的，结果遇到各种问题，就记录总结一下。]]></description><category></category></item><item><title><![CDATA[【音视频笔记】Mediacodec+Muxer生成mp4，浏览器无法播放问题处理]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/133036623</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/133036623</guid><author>China_Style</author><pubDate>Thu, 21 Sep 2023 10:46:36 +0800</pubDate><description><![CDATA[用AudioRecord + MediaCodec + MediaMuxer生成MP4，用PC浏览器无法播放，但是其他播放器应用能播放。用ffprobe命令检查视频文件，有"[aac @ 0x7ffa3681f800] Input buffer exhausted before END"。记录一下我是如何解决这个问题的。]]></description><category></category></item><item><title><![CDATA[TP4056 充电电路学习借鉴]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/121336819</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/121336819</guid><author>China_Style</author><pubDate>Mon, 15 Nov 2021 16:20:13 +0800</pubDate><description><![CDATA[最近计划的一个 DIY 项目有安排充放电锂电池，于是搜集了两个比较相似的方案，借鉴学习一下。
一、TP4056单节锂电池充电板设计方案(原理图+源码)
顺带说，电路城 这个网站还是比较有意思的，能学习借鉴的东西挺多的。

二、DIY创意类丨esp8266WiFi杀手（mini版）


...]]></description><category></category></item><item><title><![CDATA[iMX6UL开发板移植libcurl库]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/121203904</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/121203904</guid><author>China_Style</author><pubDate>Mon, 08 Nov 2021 22:43:08 +0800</pubDate><description><![CDATA[前言
libcurl 是一个功能全面的客户端 URL 传输库，支持常见的各种传输协议（官方介绍）,并且具有高可移植性，著名的 curl 工具正是基于使用的这个库。在嵌入式开发板上，有 http/https 等使用需求时，可以考虑使用 libcurl。使用 libcurl 所需的库文件和头文件可以通过编译curl源码得到。
curl源码下载地址：https://curl.se/download.html。
curl编译输出目录结构如下：


bin目录下是可执行的curl命令行工具；
include目录是使用]]></description><category></category></item><item><title><![CDATA[Android源码编译笔记——Android10编译问题记录]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/120334197</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/120334197</guid><author>China_Style</author><pubDate>Thu, 16 Sep 2021 17:50:50 +0800</pubDate><description><![CDATA[lz4c: not found
/bin/sh: 1: lz4c: not found
arch/arm64/boot/Makefile:31: recipe for target 'arch/arm64/boot/Image.lz4' failed
make[1]: *** [arch/arm64/boot/Image.lz4] Error 1
arch/arm64/Makefile:139: recipe for target 'Image.lz4' failed
make: *** [Image.lz]]></description><category></category></item><item><title><![CDATA[让 Flutter 开发者愉快地使用和预览资源图片]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/119793760</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/119793760</guid><author>China_Style</author><pubDate>Thu, 19 Aug 2021 09:42:05 +0800</pubDate><description><![CDATA[这是介绍我开发的 Idea 系 IDE 插件——Flutter Assets Ref Generator的第二篇博客。

&lt;iframe frameborder="none" width="384px" height="319px" src="https://plugins.jetbrains.com/embeddable/card/13629"&gt;&lt;/iframe&gt;

Github地址：https://github.com/AndrewShen812/AssetsRefGenera.]]></description><category></category></item><item><title><![CDATA[记一次特别的Activity生命周期问题处理]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/119144305</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/119144305</guid><author>China_Style</author><pubDate>Tue, 27 Jul 2021 15:46:48 +0800</pubDate><description><![CDATA[在Android开发中，Activity跳转的生命周期，我们都再熟悉不过了，但是有一些特别的应用场景，生命周期方法却会出现一些我们意料外的调用顺序。
正常的Activity跳转生命周期
从 main 创建，到启动新的页面second，正常的生命周期是这样的：
main onCreate		// --------
main onStart		//     |
main onResume		//     |
main onPause		//     |
second onCreate		//     | mai]]></description><category></category></item><item><title><![CDATA[回顾华为荣耀6手机刷机相关]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/116053467</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/116053467</guid><author>China_Style</author><pubDate>Fri, 23 Apr 2021 15:16:16 +0800</pubDate><description><![CDATA[这篇博客记录了我的远古手机——华为荣耀6（H60-L01）的root刷机操作。]]></description><category></category></item><item><title><![CDATA[基于Docker+Jenkins的Android项目CI/CD流程搭建]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/115694707</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/115694707</guid><author>China_Style</author><pubDate>Wed, 14 Apr 2021 13:01:32 +0800</pubDate><description><![CDATA[Jenkins是一款开源 CI&CD 软件，用于自动化各种任务，包括构建、测试和部署软件。

Jenkins通过Docker部署运行时，Jenkins的容器环境不包含构建Android应用所需的工具（如Android SDK等）。但Jenkins支持在流水线的单个 Stage或整个流水线中使用Docker镜像作为执行环境，方便用户管理构建和测试环境。

本文档介绍在Docker运行Jenkins的环境下，用Jenkins构建Android项目的两种方式——Freestyle project构建任务和Pipe]]></description><category></category></item><item><title><![CDATA[使用 expect 完成自动交互的3种方式]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/110474052</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/110474052</guid><author>China_Style</author><pubDate>Wed, 02 Dec 2020 11:21:57 +0800</pubDate><description><![CDATA[参考文档：Shell 编程 免交互 expect
expect脚本
编写以 #!/usr/bin/expect 开头的脚本，缺点是只能执行 expect 相关命令，不能执行 ls,  pwd 等其他命令。示例：
#!/usr/bin/expect
set timeout 30
# 上传文件到服务器
spawn scp target/test-service.jar root@192.168.42.90:/root
expect "root@192.168.42.90's password: "
send "]]></description><category></category></item><item><title><![CDATA[MacBook 配置以太网口和Wi-Fi同时使用]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/109821531</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/109821531</guid><author>China_Style</author><pubDate>Thu, 19 Nov 2020 19:09:03 +0800</pubDate><description><![CDATA[Mac配置外接以太网口
手动设置IP
sudo networksetup -setmanual USB\ 10/100/1000\ LAN  192.168.1.16 255.255.255.0 192.168.1.1
删除线部分为网络偏好设置页面显示的名称，空格用反斜杠转义。这个因人而异。

使用dhcp
sudo networksetup -setdhcp USB\ 10/100/1000\ LAN
双网口同时使用-设置路由
细致讲解可以参考这篇博客：Macbook利用双网卡同时连内外网
查看当前路由表]]></description><category></category></item><item><title><![CDATA[全面的 iPerf3 Android平台移植编译、运行过程记录]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/109660170</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/109660170</guid><author>China_Style</author><pubDate>Fri, 13 Nov 2020 14:17:53 +0800</pubDate><description><![CDATA[iPerf是什么？无需我多言，官网这条醒目的宣传语，已表达的很简洁、准确，甚至透露着一丝霸气：iPerf——支持TCP、UDP和SCTP的终极测速工具！

iPerf支持的平台非常全面，包括：Windows、Android、iOS、macOS 和 Linux 的多个发行版本。但遗憾的是，Android 版本提供的是开发好的、包含 iPerf 工具的Android应用。不像其他平台，提供了单独的 iPerf 可执行程序。

作者用这篇博客记录了完整的 iPerf Android 平台编译移植过程。]]></description><category></category></item><item><title><![CDATA[NDK 中的 Unified Headers 记录]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/109556255</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/109556255</guid><author>China_Style</author><pubDate>Sun, 08 Nov 2020 11:28:29 +0800</pubDate><description><![CDATA[ndk-r14 release note 关于 Unified Headers 的说明
文档原文：


Unified headers: This release introduces platform headers that are synchronized and kept always up-to-date and accurate with the Android platform. Header-only bug fixes now affect all API levels. The intr]]></description><category></category></item><item><title><![CDATA[Android源码编译笔记——Android 9.0源码编译]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/108536827</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/108536827</guid><author>China_Style</author><pubDate>Fri, 11 Sep 2020 16:57:31 +0800</pubDate><description><![CDATA[之前写过一篇 Android源码编译笔记——Android 7.1 系统源码编译及运行，欢迎翻阅。本次编译9.0源码，流程是相同的，主要记录期间遇到的问题。
编译环境：
VMWare Player虚拟机：15.5.6
Ubuntu版本：16.04.7
虚拟机配置：6核CPU，4G内存，200G硬盘
笔者手上硬件条件有限，看网上也有电脑配置很好、一次就编译成功了的，如果读者也有较好的硬件条件，说不定你也就不会遇到我记录问题啦。
问题1
ninja failed with: signal: killed
出现这]]></description><category></category></item><item><title><![CDATA[用 Kotlin + buildSrc 更好地管理 gradle 依赖]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/107202444</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/107202444</guid><author>China_Style</author><pubDate>Wed, 08 Jul 2020 14:05:01 +0800</pubDate><description><![CDATA[本文主要对以下的原始及翻译博文做一点批注记录：
原始博客：Kotlin + buildSrc for Better Gradle Dependency Management
翻译博客：[译]Kotlin + buildSrc：更好的管理Gadle依赖
总结一下：用 buildSrc 管理依赖的好处就是，支持点击跳转和IDE的输入提示。缺点就是，和使用 ext 方式一样，不支持 Android Studio 的依赖库新版本提示了。

...]]></description><category></category></item><item><title><![CDATA[Java 中 sleep() 和 wait() 方法关于锁的对比实验]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/106688624</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/106688624</guid><author>China_Style</author><pubDate>Thu, 11 Jun 2020 15:36:28 +0800</pubDate><description><![CDATA[我们知道，在 Java 中，通过 Thread.sleep() 和 Object 的 wait 方法都可以阻塞当前线程的执行。但由于sleep() 不会释放锁对象，而 wait()会释放锁对象，因此在多线程并发的环境中，它们的效果，是截然不同的。并且，用法上也有一定区别：sleep 阻塞时间到了以后，会自动继续往下执行；但使用 wait 时，则必须使用 notify 或 notifyAll 来唤醒。下面通过一段实验代码来验证记录：
public class SleepAndWait {

    publi]]></description><category></category></item><item><title><![CDATA[Activity启动流程分析]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/104866587</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/104866587</guid><author>China_Style</author><pubDate>Wed, 27 May 2020 16:45:09 +0800</pubDate><description><![CDATA[源代码版本：android-28（Android 9.0）
当我们通过startActivity(Intent intent)启动一个Activity时，最后调用了Activity中的一个startActivityForResult方法：
Activity.java:
public void startActivityForResult(@RequiresPermission Intent int...]]></description><category></category></item><item><title><![CDATA[Java 虚拟机笔记]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/105163868</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/105163868</guid><author>China_Style</author><pubDate>Sat, 28 Mar 2020 23:07:56 +0800</pubDate><description><![CDATA[JVM 运行时数据分区
根据 Java 虚拟机规范 Run-Time Data Areas 章节的描述，Java 虚拟机的运行时数据划分如下：



程序计数器/pc寄存器-PC(program counter) Register
线程私有。 程序计数器包含线程当前正在执行的Java虚拟机指令的地址。 如果线程当前正在执行的方法是本地方法，则Java虚拟机的pc寄存器的值未定义。


Java 虚...]]></description><category></category></item><item><title><![CDATA[算法回顾——斐波那契数列问题]]></title><link>https://blog.youkuaiyun.com/China_Style/article/details/105006612</link><guid>https://blog.youkuaiyun.com/China_Style/article/details/105006612</guid><author>China_Style</author><pubDate>Sat, 21 Mar 2020 16:42:42 +0800</pubDate><description><![CDATA[斐波那契数列，由数学家列昂纳多·斐波那契以兔子繁殖为例子而引入，故又称为“兔子数列”。一般我们见到的兔子繁殖问题、以1阶或2阶方式上台阶的问题，本质上都是斐波那契数列问题。笔者用这篇博客归纳记录了Java版本的斐波那契数列的不同算法实现。]]></description><category></category></item></channel></rss>