<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dolphin的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dpppppp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dpppppp]]></copyright><item><title><![CDATA[Android IP路由策略和防火墙]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/142956394</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/142956394</guid><author>dpppppp</author><pubDate>Tue, 15 Oct 2024 15:48:24 +0800</pubDate><description><![CDATA[ip route是用于配置路由器静态路由的命令，在Linux系统中，它是iproute2工具套件的一部分，用于操作路由表。ip route命令的功能非常强大，可以显示、添加、删除、修改路由，以及清除整个路由表或路由缓存。使用ip route时，可以对多达255个路由表中的任何一个进行操作，而route命令则主要在主路由表（表254）上运行。主要功能显示路由：通过命令可以查看当前的路由表信息。添加路由：使用命令可以添加新的路由条目。删除路由：通过命令可以删除路由表中的特定路由。修改路由。]]></description><category></category></item><item><title><![CDATA[Android便携式WLAN热点分析]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/142956065</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/142956065</guid><author>dpppppp</author><pubDate>Tue, 15 Oct 2024 15:44:32 +0800</pubDate><description><![CDATA[命令功能：向指定的路由表 local_network 中添加一条路由规则，使所有发往 10.0.0.0/16 网段的数据包都通过 wlan0 接口发送。第一条命令：为从接口wlan0发出且用户ID范围为0的数据包添加优先级10500的规则，指定这些数据包使用名为local_network的路由表。第二条命令：同样对wlan0接口的数据包设置规则，但未指定UID范围，默认所有UID；第三条命令：对于通过wlan0接口接收的数据包设置规则，优先级18000，指向eth0路由表。]]></description><category></category></item><item><title><![CDATA[Android 原生程序使用gdb, addr2line, readelf调试]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/142955632</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/142955632</guid><author>dpppppp</author><pubDate>Tue, 15 Oct 2024 15:37:47 +0800</pubDate><description><![CDATA[readelf是一个在Unix和类Unix系统上用于查看ELF（Executable and Linkable Format）文件信息的命令行工具。GDB（GNU Debugger）是GNU项目调试器，是一种强大的程序调试工具，可以用于调试C、C++、Fortran等多种编程语言编写的程序。它允许程序员在程序运行时监视程序的内部状态和程序的控制流程。addr2line用于将程序的地址（例如，崩溃报告中提供的地址）转换为文件名和行号。这对于调试和定位程序中的错误非常有用，尤其是在处理崩溃或异常行为时。]]></description><category></category></item><item><title><![CDATA[通过OTA 升级更改系统默认设置]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/127508867</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/127508867</guid><author>dpppppp</author><pubDate>Tue, 25 Oct 2022 10:40:42 +0800</pubDate><description><![CDATA[正常修改系统默认设置，我们只需要修改设备overlay资源，或者直接修改frameworks/base/packages/SettingsProvider/res/values/defaults.xml里面的值既可;但OTA 升级 更改系统默认设置还必须修改SettingsProvider里面的SETTINGS_VERSION，否则OTA升级后不会更新系统默认设置]]></description><category></category></item><item><title><![CDATA[系统死机重启调试分析]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/127508629</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/127508629</guid><author>dpppppp</author><pubDate>Tue, 25 Oct 2022 10:37:19 +0800</pubDate><description><![CDATA[W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in monitor com.android.server.Watchdog$BinderThreadMonitor on foreground thread (android.fg)]]></description><category></category></item><item><title><![CDATA[docker 构建Android编译环境]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/110860595</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/110860595</guid><author>dpppppp</author><pubDate>Thu, 18 Nov 2021 08:48:48 +0800</pubDate><description><![CDATA[docker 构建Android编译环境
文章目录docker 构建Android编译环境ubuntu:14.04镜像ubuntu:18.04镜像

由于电脑升级了Ubuntu20.04,而Android推荐的编译环境为Ubuntu14.04(Android 5.0 ~ 8.0),Ubuntu18.04(Android 9.0 ~ last);所以考虑使用docker来构建Android编译环境(rockchip 平台，其他平台所需的软件包应该有所差异)．
ubuntu:14.04镜像
基于Ubuntu14]]></description><category></category></item><item><title><![CDATA[rk3368 更改调试串口ttyS4替代ttyS2]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/121392411</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/121392411</guid><author>dpppppp</author><pubDate>Thu, 18 Nov 2021 08:35:25 +0800</pubDate><description><![CDATA[Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0

由于uart2和TF卡功能复用，所以开启TF卡功能后就无法用串口调试kernel了,
于是用其他串口做串口调试。
修改如下：

修改parameter.txt中的CMDLINE参数,将console和androidboot.console修改为其他串口.

CMDLINE: console=ttyS4 androidboot.baseband=N/A androidboot.selinux=enforcing ]]></description><category></category></item><item><title><![CDATA[AP6236蓝牙BLE广播调试]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/120171408</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/120171408</guid><author>dpppppp</author><pubDate>Wed, 08 Sep 2021 08:52:21 +0800</pubDate><description><![CDATA[Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0

wifi蓝牙模块为ap6236
现象：
APP调用BluetoothAdapter.isMultipleAdvertisementSupported返回false和BluetoothLeAdvertiser对象为Null:
解决方法:
主要是修改device/rockchip/rk3368/bluetooth/bdroid_buildcfg.h:
BLE_VND_INCLUDED为TRUE,打开供应商特定扩展的]]></description><category></category></item><item><title><![CDATA[rk3368 Android9.0 HIDL调试记录]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/109234795</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/109234795</guid><author>dpppppp</author><pubDate>Fri, 23 Oct 2020 08:24:16 +0800</pubDate><description><![CDATA[rk3368 Android9.0 HIDL调试记录
Platform: RK3368
OS: Android 9.0
Kernel: 4.4.194


文章目录rk3368 Android9.0 HIDL调试记录1. 使用hidl-gen工具生成接口1.1 hidl-gen使用方法1.2 创建HIDL文件1.3 使用hidl-gen工具生成HIDL相关文件2. 修改代码2.1 创建service代码2.2 修改Android.bp添加编译service2.3 添加启动service的init.rc文件2]]></description><category></category></item><item><title><![CDATA[rk3368 Android9.0 升级固件后,一直在recovery界面]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/108620164</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/108620164</guid><author>dpppppp</author><pubDate>Wed, 16 Sep 2020 13:10:37 +0800</pubDate><description><![CDATA[升级固件后,一直在recovery界面
Platform: RK3368
OS: Android 9.0
Kernel: 4.4.194


文章目录升级固件后,一直在recovery界面升级固件后,一直在recovery界面
升级固件后,一直在recovery界面
串口日志:
E:Failed to mount /cache: No such file or directory
E:Failed to set BCB message: failed to stat /dev/block/by-name/m]]></description><category></category></item><item><title><![CDATA[rk3368 Android9.0调试记录之系统分区调整]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/108532706</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/108532706</guid><author>dpppppp</author><pubDate>Fri, 11 Sep 2020 13:48:47 +0800</pubDate><description><![CDATA[rk3368 Android9.0调试记录之系统分区
Platform: RK3368
OS: Android 9.0
Kernel: 4.4.194


文章目录rk3368 Android9.0调试记录之系统分区1. 升级固件后开机进recovery出错1.1. 调整分区表
1. 升级固件后开机进recovery出错
ensure_path_unmounted path is /data
Volume is already unmounted
ensure_path_unmounted path is ]]></description><category></category></item><item><title><![CDATA[AP6236 WiFi模块调试记录]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/106347556</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/106347556</guid><author>dpppppp</author><pubDate>Tue, 26 May 2020 08:55:46 +0800</pubDate><description><![CDATA[AP2636 WiFi模块调试记录
Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0


文章目录AP2636 WiFi模块调试记录内核驱动移植1. 更新驱动1.1 修改驱动代码,适配rk平台2. 修改RK平台代码3 修改dts文件中的wifi配置,修改wireless-wlan节点里面:Android系统适配遇到的问题1. 蓝牙打不开2. 在系统设置-&gt;WLAN中打开WiFi自动关闭3. sdmmc通信报错4. 32k晶振不起振5. Wifi信号差
内核]]></description><category></category></item><item><title><![CDATA[RK3368 Edp屏调试,利用EDID做兼容]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/105794165</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/105794165</guid><author>dpppppp</author><pubDate>Mon, 27 Apr 2020 16:46:20 +0800</pubDate><description><![CDATA[RK3368 Edp屏调试,利用EDID做兼容
Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0


文章目录RK3368 Edp屏调试,利用EDID做兼容1. kernel部分修改1.1 Edp EDID信息打印:1.2 修改lcdc驱动1.3 修改rk_screen1.4 修改dts1.5 修改rk32_dp驱动2. uboot部分修改2.1 修改...]]></description><category></category></item><item><title><![CDATA[RK3368 Recovery界面旋转方向调试]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/105284678</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/105284678</guid><author>dpppppp</author><pubDate>Fri, 03 Apr 2020 08:28:51 +0800</pubDate><description><![CDATA[RK3368 Recovery界面旋转方向调试
Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0


文章目录RK3368 Recovery界面旋转方向调试1. 打开recovery串口打印调试2. 修改代码3. 编译
1. 打开recovery串口打印调试
修改bootable/recovery/Android.mk文件,将日志打印重定向到串口,方便...]]></description><category></category></item><item><title><![CDATA[PN7120 NFC调试记录]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/105273539</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/105273539</guid><author>dpppppp</author><pubDate>Thu, 02 Apr 2020 16:46:27 +0800</pubDate><description><![CDATA[PN7120 NFC调试记录
Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0


文章目录PN7120 NFC调试记录1. 内核驱动2. Android适配3. 遇到的问题3.1 编译报错3.2 Selinux权限3.3 nfc_nci.pn54x.default.so不自动编译:
整个调试流程,基本上按照官方移植文档操作就可以了.NXP官方代码(A...]]></description><category></category></item><item><title><![CDATA[MIPI屏调试]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/103559563</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/103559563</guid><author>dpppppp</author><pubDate>Mon, 16 Dec 2019 11:28:18 +0800</pubDate><description><![CDATA[Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0


在dts中将mipi功能打开

&amp;dsihost0{
	status = "okay";
};


配置时序
根据原理图和屏资料配置上电时序,比如LCD_EN,LCD_RST等等.有些MIPI屏可能还需要配置很多初始化命令.

#include &lt;dt-bindings/rkmipi/...]]></description><category></category></item><item><title><![CDATA[Android UVC摄像头方向调试]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/101769540</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/101769540</guid><author>dpppppp</author><pubDate>Mon, 30 Sep 2019 14:06:17 +0800</pubDate><description><![CDATA[Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0

UVC摄像头方向调试
方法1修改CameraHal
修改代码位置hardware/rockchip/camera/CameraHal
直接在CameraHal中修改facing_info．
diff --git a/CameraHal/CameraHal_Module.cpp b/CameraHal/...]]></description><category></category></item><item><title><![CDATA[使用Android隐藏API SerialPort进行串口通信]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/98940508</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/98940508</guid><author>dpppppp</author><pubDate>Fri, 09 Aug 2019 09:50:50 +0800</pubDate><description><![CDATA[Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0

1.修改源码编译
因为串口相关的api是隐藏的,所以需要自己修改源码将相关需要用到的api的＂@hide＂注解去掉:
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java...]]></description><category></category></item><item><title><![CDATA[Android Studio 使用自己编译的framework]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/98939733</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/98939733</guid><author>dpppppp</author><pubDate>Fri, 09 Aug 2019 09:45:18 +0800</pubDate><description><![CDATA[Platform: Android Studio 4.3.1
OS: Ubuntu14.04

1. 修改Android源码,将需要用到的API的"@hide"注解去掉
然后单独编译frameworks (即mmm frameworks/base);
编译生成的中间文件在out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/
2....]]></description><category></category></item><item><title><![CDATA[Android启用串口控制台和Recovery中启用adb]]></title><link>https://blog.youkuaiyun.com/dpppppp/article/details/89448299</link><guid>https://blog.youkuaiyun.com/dpppppp/article/details/89448299</guid><author>dpppppp</author><pubDate>Mon, 22 Apr 2019 11:20:18 +0800</pubDate><description><![CDATA[Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0

1. console
debug模式下默认就开启了控制台,所以可以直接在串口中使用,而user模式编译的系统ro.debuggable=0,即控制台默认时关闭的,控制台需要ro.debuggable=1才会启动,所以可以修改build/core/main.mk强制开启调试.在recovery中启用串口...]]></description><category></category></item></channel></rss>