自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 APK开机自启动

Android应用开机自启动实现指南 摘要:本文介绍了Android应用实现开机自启动的方法。当系统启动完成时会发送BOOT_COMPLETED广播,开发者可以通过BroadcastReceiver接收该广播来启动应用。关键步骤包括:1)创建接收器检测BOOT_COMPLETED广播;2)在AndroidManifest中注册接收器和声明权限;3)启动目标Activity或Service。文章还分析了自启动失败的常见原因,如应用安装在SD卡、FastBoot模式启用或Android 3.1+的安全限制等,并

2026-04-02 14:23:40 186

原创 Android系统的启动流程

摘要:本文详细分析了Android 5.1系统的启动流程,主要包括三个阶段:BootLoader引导启动、Linux内核启动和Android系统启动。重点阐述了init进程如何通过解析init.rc脚本启动关键系统服务,包括servicemanager、zygote等重要进程。其中zygote进程作为Java环境入口,会启动SystemServer并加载各类Java系统服务。文章深入源码层面,详细说明了各阶段的执行过程、关键函数调用和服务启动顺序,为理解Android系统启动机制提供了完整的技术参考。

2026-04-02 14:21:27 347

原创 匠芯创 D213ECX Luban SDK 适配移远 EC20 4G 模块完整指南

本文介绍了在匠芯创D213开发板(LubanSDK,Linux5.10内核)上适配移远EC204G模块的完整方案。主要包括:1)内核配置修改,开启PPP、USB网络等必要选项;2)驱动代码优化,解决接口冲突和USB传输问题;3)用户空间工具集成,添加pppd拨号功能。通过调整option.c、qmi_wwan.c等驱动文件,正确处理EC20的多接口特性,并添加URB_ZERO_PACKET标志确保数据传输稳定性。最终实现了PPP拨号上网功能,为类似4G模块的Linux系统适配提供了参考方案。

2026-04-01 17:07:39 496

原创 匠芯创 D213ECX Luban SDK 移植 CL1026 音频 Codec 完整指南

本文详细介绍了在匠芯创D213开发板(Linux 5.10内核)上移植CL1026音频Codec驱动的全过程。通过配置内核、修改设备树和编写驱动代码,实现了模拟麦克风录音和音频播放功能。硬件连接方面明确了I2C和I2S接口的引脚定义,软件适配采用ALSA框架,包含寄存器映射、DAPM控件和PCM参数设置等关键模块。测试验证了设备加载、I2C通信和音频功能,并提供了常见问题解决方案。该移植为D213开发板提供了可靠的音频基础支持。

2026-04-01 17:03:20 430

原创 Ubuntu系统编译Android SDK 由于系统内存不足导致编译失败问题解决

因此,“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:文件的保存路径。

2023-12-15 16:25:05 4049

原创 GCC编译一些常见报错解决

错误资讯∶有未定义的符号(Undefined symbol)。这类错误是在连接过程中出现的,可能有两种原因∶一是使用者自己定义的函数或者全局变量所在源代码文件,没有被编译、连接,或者干脆还没有定义,这需要使用者根据实际情况修改源程序,给出全局变量或者函数的定义体;

2023-12-02 15:20:32 3513 1

原创 Android Studio 如何使用JNI

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虚拟机机制下的执行代码的标准机制。

2023-11-10 16:12:17 615 1

原创 Android JNI 使用讲解

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虚拟机机制下的执行代码的标准机制。

2023-11-10 15:00:45 379 1

原创 Android5.1 4G模块调试心得分享

在矩芯的S700平台(Android5.1)上调试了几款4G模组,移远的EC20、UC15,中国移动的M8321P等。在这里记录一下调试方法与调试心得。

2023-10-24 16:48:41 1359

原创 网络ADB的简单讲解

网络ADB是一种通过网络连接的Android调试桥(AndroidDebugBridge, ADB)。ADB是一个用于在Android设备和计算机之间进行通讯的命令行工具,它允许开发人员在设备上安装和调试应用程序。网络ADB将这个功能扩展的到了局域网或互联网上,使得开发人员可以远程访问设备并进行调试。

2023-10-19 16:35:22 2155

原创 Ubuntu系统安装配置ADB

adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。

2023-10-19 14:51:30 10018 1

原创 Android5.1红外及蓝牙遥控器适配流程

确定遥控器(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键值。

2023-10-17 15:46:21 1761 1

Android Studio JNI Demo

Android Studio JNI Demo

2023-11-10

Android JNI Demo(旧方法)

Android JNI Demo(旧方法)

2023-11-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除