<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Chris_1994的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Chris_1994</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Chris_1994]]></copyright><item><title><![CDATA[APK开机自启动]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/133950718</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/133950718</guid><author>Chris_1994</author><pubDate>Thu, 02 Apr 2026 14:23:40 +0800</pubDate><description><![CDATA[Android应用开机自启动实现指南 摘要：本文介绍了Android应用实现开机自启动的方法。当系统启动完成时会发送BOOT_COMPLETED广播，开发者可以通过BroadcastReceiver接收该广播来启动应用。关键步骤包括：1)创建接收器检测BOOT_COMPLETED广播；2)在AndroidManifest中注册接收器和声明权限；3)启动目标Activity或Service。文章还分析了自启动失败的常见原因，如应用安装在SD卡、FastBoot模式启用或Android 3.1+的安全限制等，并]]></description><category></category></item><item><title><![CDATA[Android系统的启动流程]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/159732582</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/159732582</guid><author>Chris_1994</author><pubDate>Thu, 02 Apr 2026 14:21:27 +0800</pubDate><description><![CDATA[摘要：本文详细分析了Android 5.1系统的启动流程，主要包括三个阶段：BootLoader引导启动、Linux内核启动和Android系统启动。重点阐述了init进程如何通过解析init.rc脚本启动关键系统服务，包括servicemanager、zygote等重要进程。其中zygote进程作为Java环境入口，会启动SystemServer并加载各类Java系统服务。文章深入源码层面，详细说明了各阶段的执行过程、关键函数调用和服务启动顺序，为理解Android系统启动机制提供了完整的技术参考。]]></description><category></category></item><item><title><![CDATA[匠芯创 D213ECX Luban SDK 适配移远 EC20 4G 模块完整指南]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/159732427</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/159732427</guid><author>Chris_1994</author><pubDate>Wed, 01 Apr 2026 17:07:39 +0800</pubDate><description><![CDATA[本文介绍了在匠芯创D213开发板（LubanSDK，Linux5.10内核）上适配移远EC204G模块的完整方案。主要包括：1）内核配置修改，开启PPP、USB网络等必要选项；2）驱动代码优化，解决接口冲突和USB传输问题；3）用户空间工具集成，添加pppd拨号功能。通过调整option.c、qmi_wwan.c等驱动文件，正确处理EC20的多接口特性，并添加URB_ZERO_PACKET标志确保数据传输稳定性。最终实现了PPP拨号上网功能，为类似4G模块的Linux系统适配提供了参考方案。]]></description><category></category></item><item><title><![CDATA[匠芯创 D213ECX Luban SDK 移植 CL1026 音频 Codec 完整指南]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/159732308</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/159732308</guid><author>Chris_1994</author><pubDate>Wed, 01 Apr 2026 17:03:20 +0800</pubDate><description><![CDATA[本文详细介绍了在匠芯创D213开发板（Linux 5.10内核）上移植CL1026音频Codec驱动的全过程。通过配置内核、修改设备树和编写驱动代码，实现了模拟麦克风录音和音频播放功能。硬件连接方面明确了I2C和I2S接口的引脚定义，软件适配采用ALSA框架，包含寄存器映射、DAPM控件和PCM参数设置等关键模块。测试验证了设备加载、I2C通信和音频功能，并提供了常见问题解决方案。该移植为D213开发板提供了可靠的音频基础支持。]]></description><category></category></item><item><title><![CDATA[Ubuntu系统编译Android SDK 由于系统内存不足导致编译失败问题解决]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/135017508</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/135017508</guid><author>Chris_1994</author><pubDate>Fri, 15 Dec 2023 16:25:05 +0800</pubDate><description><![CDATA[因此，“sudo dd if=/dev/zero of=/swapfile bs=1M count=20480”命令中的“if=/dev/zero”参数的作用是从“if=/dev/zero”参数的作用是从“/dev/zero”设备文件中读取数据，并将其写入名为“/swapfile”的文件中，已创建一个大小为20GB的Swap文件。在创建Swap文件时，我们通常使用“/dev/zero”来填充文件中的内容，因为Swap文件中的内容在使用过程中并不重要，只需要占用一定的磁盘空间即可。of：文件的保存路径。]]></description><category></category></item><item><title><![CDATA[GCC编译一些常见报错解决]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/134752449</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/134752449</guid><author>Chris_1994</author><pubDate>Sat, 02 Dec 2023 15:20:32 +0800</pubDate><description><![CDATA[错误资讯∶有未定义的符号(Undefined symbol)。这类错误是在连接过程中出现的，可能有两种原因∶一是使用者自己定义的函数或者全局变量所在源代码文件，没有被编译、连接，或者干脆还没有定义，这需要使用者根据实际情况修改源程序，给出全局变量或者函数的定义体；]]></description><category></category></item><item><title><![CDATA[Android Studio 如何使用JNI]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/134335371</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/134335371</guid><author>Chris_1994</author><pubDate>Fri, 10 Nov 2023 16:12:17 +0800</pubDate><description><![CDATA[JNI，全称为Java Native Interface，即Java本地接口，JNI是Java调用Native 语言的一种特性。通过JNI可以使得Java与C/C++机型交互。即可以在Java代码中调用C/C++等语言的代码或者在C/C++代码中调用Java代码。由于JNI是JVM规范的一部分，因此可以将我们写的JNI的程序在任何实现了JNI规范的Java虚拟机中运行。同时，这个特性使我们可以复用以前用C/C++写的大量代码JNI是一种在Java虚拟机机制下的执行代码的标准机制。]]></description><category></category></item><item><title><![CDATA[Android JNI 使用讲解]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/134332569</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/134332569</guid><author>Chris_1994</author><pubDate>Fri, 10 Nov 2023 15:00:45 +0800</pubDate><description><![CDATA[JNI，全称为Java Native Interface，即Java本地接口，JNI是Java调用Native 语言的一种特性。通过JNI可以使得Java与C/C++机型交互。即可以在Java代码中调用C/C++等语言的代码或者在C/C++代码中调用Java代码。由于JNI是JVM规范的一部分，因此可以将我们写的JNI的程序在任何实现了JNI规范的Java虚拟机中运行。同时，这个特性使我们可以复用以前用C/C++写的大量代码JNI是一种在Java虚拟机机制下的执行代码的标准机制。]]></description><category></category></item><item><title><![CDATA[Android5.1 4G模块调试心得分享]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/134015713</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/134015713</guid><author>Chris_1994</author><pubDate>Tue, 24 Oct 2023 16:48:41 +0800</pubDate><description><![CDATA[在矩芯的S700平台（Android5.1）上调试了几款4G模组，移远的EC20、UC15，中国移动的M8321P等。在这里记录一下调试方法与调试心得。]]></description><category></category></item><item><title><![CDATA[网络ADB的简单讲解]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/133927127</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/133927127</guid><author>Chris_1994</author><pubDate>Thu, 19 Oct 2023 16:35:22 +0800</pubDate><description><![CDATA[网络ADB是一种通过网络连接的Android调试桥（AndroidDebugBridge, ADB）。ADB是一个用于在Android设备和计算机之间进行通讯的命令行工具，它允许开发人员在设备上安装和调试应用程序。网络ADB将这个功能扩展的到了局域网或互联网上，使得开发人员可以远程访问设备并进行调试。]]></description><category></category></item><item><title><![CDATA[Ubuntu系统安装配置ADB]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/133922131</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/133922131</guid><author>Chris_1994</author><pubDate>Thu, 19 Oct 2023 14:51:30 +0800</pubDate><description><![CDATA[adb的全称为Android Debug Bridge，就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序，说白了就是debug工具。]]></description><category></category></item><item><title><![CDATA[Android5.1红外及蓝牙遥控器适配流程]]></title><link>https://blog.youkuaiyun.com/Chris_1994/article/details/133885425</link><guid>https://blog.youkuaiyun.com/Chris_1994/article/details/133885425</guid><author>Chris_1994</author><pubDate>Tue, 17 Oct 2023 15:46:21 +0800</pubDate><description><![CDATA[确定遥控器（android：/framework/base/data/keyboards）使用哪一个kl文件,可以通过指令getevent-l或者getevent –v，或者在/system/usr/keylayout通过cat /proc/bus/input/devices，根据Vendor,Product,Version确认该遥控器是哪个event事件。对于普通类型键值（07），只需要修改hid_keyboard数组相应的值即可，其中数组序号代表蓝牙键值，数组里面的值代表对应的linux键值。]]></description><category></category></item></channel></rss>