自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android IP路由策略和防火墙

ip route是用于配置路由器静态路由的命令,在Linux系统中,它是iproute2工具套件的一部分,用于操作路由表。ip route命令的功能非常强大,可以显示、添加、删除、修改路由,以及清除整个路由表或路由缓存。使用ip route时,可以对多达255个路由表中的任何一个进行操作,而route命令则主要在主路由表(表254)上运行。主要功能显示路由:通过命令可以查看当前的路由表信息。添加路由:使用命令可以添加新的路由条目。删除路由:通过命令可以删除路由表中的特定路由。修改路由。

2024-10-15 15:48:24 1043

原创 Android便携式WLAN热点分析

命令功能:向指定的路由表 local_network 中添加一条路由规则,使所有发往 10.0.0.0/16 网段的数据包都通过 wlan0 接口发送。第一条命令:为从接口wlan0发出且用户ID范围为0的数据包添加优先级10500的规则,指定这些数据包使用名为local_network的路由表。第二条命令:同样对wlan0接口的数据包设置规则,但未指定UID范围,默认所有UID;第三条命令:对于通过wlan0接口接收的数据包设置规则,优先级18000,指向eth0路由表。

2024-10-15 15:44:32 904

原创 Android 原生程序使用gdb, addr2line, readelf调试

readelf是一个在Unix和类Unix系统上用于查看ELF(Executable and Linkable Format)文件信息的命令行工具。GDB(GNU Debugger)是GNU项目调试器,是一种强大的程序调试工具,可以用于调试C、C++、Fortran等多种编程语言编写的程序。它允许程序员在程序运行时监视程序的内部状态和程序的控制流程。addr2line用于将程序的地址(例如,崩溃报告中提供的地址)转换为文件名和行号。这对于调试和定位程序中的错误非常有用,尤其是在处理崩溃或异常行为时。

2024-10-15 15:37:47 507

原创 通过OTA 升级更改系统默认设置

正常修改系统默认设置,我们只需要修改设备overlay资源,或者直接修改frameworks/base/packages/SettingsProvider/res/values/defaults.xml里面的值既可;但OTA 升级 更改系统默认设置还必须修改SettingsProvider里面的SETTINGS_VERSION,否则OTA升级后不会更新系统默认设置

2022-10-25 10:40:42 963 1

原创 系统死机重启调试分析

W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in monitor com.android.server.Watchdog$BinderThreadMonitor on foreground thread (android.fg)

2022-10-25 10:37:19 1463

原创 docker 构建Android编译环境

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

2021-11-18 08:48:48 3007

原创 rk3368 更改调试串口ttyS4替代ttyS2

Platform: RK3368OS: Android 6.0Kernel: 3.10.0由于uart2和TF卡功能复用,所以开启TF卡功能后就无法用串口调试kernel了,于是用其他串口做串口调试。修改如下:修改parameter.txt中的CMDLINE参数,将console和androidboot.console修改为其他串口.CMDLINE: console=ttyS4 androidboot.baseband=N/A androidboot.selinux=enforcing

2021-11-18 08:35:25 2058

原创 AP6236蓝牙BLE广播调试

Platform: RK3368OS: Android 6.0Kernel: 3.10.0wifi蓝牙模块为ap6236现象:APP调用BluetoothAdapter.isMultipleAdvertisementSupported返回false和BluetoothLeAdvertiser对象为Null:解决方法:主要是修改device/rockchip/rk3368/bluetooth/bdroid_buildcfg.h:BLE_VND_INCLUDED为TRUE,打开供应商特定扩展的

2021-09-08 08:52:21 840

原创 rk3368 Android9.0 HIDL调试记录

rk3368 Android9.0 HIDL调试记录Platform: RK3368OS: Android 9.0Kernel: 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

2020-10-23 08:24:16 2544 2

原创 rk3368 Android9.0 升级固件后,一直在recovery界面

升级固件后,一直在recovery界面Platform: RK3368OS: Android 9.0Kernel: 4.4.194文章目录升级固件后,一直在recovery界面升级固件后,一直在recovery界面升级固件后,一直在recovery界面串口日志:E:Failed to mount /cache: No such file or directoryE:Failed to set BCB message: failed to stat /dev/block/by-name/m

2020-09-16 13:10:37 5498 2

原创 rk3368 Android9.0调试记录之系统分区调整

rk3368 Android9.0调试记录之系统分区Platform: RK3368OS: Android 9.0Kernel: 4.4.194文章目录rk3368 Android9.0调试记录之系统分区1. 升级固件后开机进recovery出错1.1. 调整分区表1. 升级固件后开机进recovery出错ensure_path_unmounted path is /dataVolume is already unmountedensure_path_unmounted path is

2020-09-11 13:48:47 1657

原创 AP6236 WiFi模块调试记录

AP2636 WiFi模块调试记录Platform: RK3368OS: Android 6.0Kernel: 3.10.0文章目录AP2636 WiFi模块调试记录内核驱动移植1. 更新驱动1.1 修改驱动代码,适配rk平台2. 修改RK平台代码3 修改dts文件中的wifi配置,修改wireless-wlan节点里面:Android系统适配遇到的问题1. 蓝牙打不开2. 在系统设置->WLAN中打开WiFi自动关闭3. sdmmc通信报错4. 32k晶振不起振5. Wifi信号差内核

2020-05-26 08:55:46 6669 1

原创 RK3368 Edp屏调试,利用EDID做兼容

RK3368 Edp屏调试,利用EDID做兼容Platform: RK3368OS: Android 6.0Kernel: 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 修改...

2020-04-27 16:46:20 4600

原创 RK3368 Recovery界面旋转方向调试

RK3368 Recovery界面旋转方向调试Platform: RK3368OS: Android 6.0Kernel: 3.10.0文章目录RK3368 Recovery界面旋转方向调试1. 打开recovery串口打印调试2. 修改代码3. 编译1. 打开recovery串口打印调试修改bootable/recovery/Android.mk文件,将日志打印重定向到串口,方便...

2020-04-03 08:28:51 1665

原创 PN7120 NFC调试记录

PN7120 NFC调试记录Platform: RK3368OS: Android 6.0Kernel: 3.10.0文章目录PN7120 NFC调试记录1. 内核驱动2. Android适配3. 遇到的问题3.1 编译报错3.2 Selinux权限3.3 nfc_nci.pn54x.default.so不自动编译:整个调试流程,基本上按照官方移植文档操作就可以了.NXP官方代码(A...

2020-04-02 16:46:27 1211

原创 MIPI屏调试

Platform: RK3368OS: Android 6.0Kernel: 3.10.0在dts中将mipi功能打开&dsihost0{ status = "okay";};配置时序根据原理图和屏资料配置上电时序,比如LCD_EN,LCD_RST等等.有些MIPI屏可能还需要配置很多初始化命令.#include <dt-bindings/rkmipi/...

2019-12-16 11:28:18 1816

原创 Android UVC摄像头方向调试

Platform: RK3368OS: Android 6.0Kernel: 3.10.0UVC摄像头方向调试方法1修改CameraHal修改代码位置hardware/rockchip/camera/CameraHal直接在CameraHal中修改facing_info.diff --git a/CameraHal/CameraHal_Module.cpp b/CameraHal/...

2019-09-30 14:06:17 3281

原创 使用Android隐藏API SerialPort进行串口通信

Platform: RK3368OS: Android 6.0Kernel: 3.10.01.修改源码编译因为串口相关的api是隐藏的,所以需要自己修改源码将相关需要用到的api的"@hide"注解去掉:diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java...

2019-08-09 09:50:50 1147

原创 Android Studio 使用自己编译的framework

Platform: Android Studio 4.3.1OS: Ubuntu14.041. 修改Android源码,将需要用到的API的"@hide"注解去掉然后单独编译frameworks (即mmm frameworks/base);编译生成的中间文件在out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/2....

2019-08-09 09:45:18 1627

原创 Android启用串口控制台和Recovery中启用adb

Platform: RK3368OS: Android 6.0Kernel: 3.10.01. consoledebug模式下默认就开启了控制台,所以可以直接在串口中使用,而user模式编译的系统ro.debuggable=0,即控制台默认时关闭的,控制台需要ro.debuggable=1才会启动,所以可以修改build/core/main.mk强制开启调试.在recovery中启用串口...

2019-04-22 11:20:18 4313

原创 OTA升级recovery分区失败

Platform: RK3368OS: Android 6.0Kernel: 3.10.0在做OTA增量更新时遇到更新失败,recovery中显示"Package expects build fingerprint of xxx"的错误信息.后来查看日志发现是之前的完整包更新时recovery分区没有升级成功,导致后来的版本增量更新时recovery的sha1与增量升级包中的不一致.在r...

2019-04-12 11:16:26 1557

原创 Android双网卡或双IP

Platform: RK3368OS: Android 6.0Kernel: 3.10.0文章目录1. 以太网与Wi-Fi共存问题2. 修改ip路由3. 双IP地址也是类似4. Android 路由相关代码:1. 以太网与Wi-Fi共存问题想要多个网卡同时使用,首先就要解决多网卡共存问题。Android系统默认会将不需要的网络给关闭的,以降低功耗。所以要解决以太网与Wi-Fi共存问题,...

2019-02-19 13:25:27 14185 9

原创 Android 6.0 OTA脚本添加匹配产品名升级

Platform: RK3368OS: Android 6.0Kernel: 3.10.0builddiff --git a/tools/releasetools/edify_generator.py b/tools/releasetools/edify_generator.pyindex f6d8560..1e2b2e8 100755--- a/tools/releasetools...

2019-01-18 16:51:32 404

原创 Android6.0 修改默认输入法

Platform: RK3368OS: Android 6.0Kernel: 3.10.0frameworks/basediff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xmlindex d75b742..58415...

2019-01-18 14:21:03 1240

原创 rk3368 开机内核启动不了

Platform: RK3368OS: Android 6.0Kernel: 3.10.0电源管理芯片用的是配套的rk818,经测量发现板子在上电启动时,u-boot阶段与kernel阶段dcdc电压不一样。从uboot切换到kernel时卡,串口打印只能打印到Starting kernel ...就没有打印了,内核没有继续跑下去。跟踪代码发现uboot中rk818初始化与kern...

2018-12-21 11:40:59 1357

原创 rk3368 CPU动态调频与温度保护

Platform: RK3368OS: Android 6.0Kernel: 3.10.0rk3368采用cpufreq进行CPU频率调节,但同时又做了过温保护和温度限制频率。1. 过温保护驱动位于kernel/drivers/thermal/rockchip_thermal.cdts定义:tsadc: tsadc@ff280000 { compat...

2018-12-21 11:24:28 3724

原创 recovery升级系统时挂载cache分区失败

Platform: RK3368OS: Android 6.0Kernel: 3.10.0文章目录现象解决办法现象重启进recovery升级update.zip时,不进升级界面,而是进入recovery界面。并有打印错误&quot;“E:failed to mount /cache /dev/block/rknand_cache (No such file or directory)”升级日志...

2018-12-21 09:44:28 8459

原创 rk3368 用Chip ID生成Wi-Fi或者以太网MAC地址

Platform: RK3368OS: Android 6.0Kernel: 3.10.0rk3368的Chip ID是从芯片eFuse中读取出来的。然后赋值给system_serial_low和system_serial_high./proc/cpuinfo中的Serial字段就是用的这两个值。arch/arm64/boot/dts/rk3368.dtsi efuse_256@ff...

2018-12-17 17:25:45 2590

原创 跳转到设置子项,并显示返回按钮

Platform: RK3368OS: Android 6.0Kernel: 3.10.0有时候应用需要跳转到系统设置界面,需要让设置的ActionBar上显示返回按键,则Intent需要额外添加EXTRA_SHOW_FRAGMENT_AS_SUBSETTING。public static final String EXTRA_SHOW_FRAGMENT_AS_SUBSETTING =...

2018-12-17 17:21:40 934 4

原创 Android系统第一次开机启动Launcher黑屏问题

Platform: RK3368OS: Android 6.0Kernel: 3.10.0现象:系统第一次开机启动,进入桌面前黑屏10秒.log信息:01-21 09:30:26.806 575 1695 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.int...

2018-08-22 11:52:56 4213 1

原创 禁止Android系统进入休眠的方法

Platform: RK3368OS: Android 6.0Kernel: 3.10.0在PowerManagerService中,mWakeLockSuspendBlocker是控制CPU休眠的锁; ,mDisplaySuspendBlocker是控制显示开关的锁。通过查看文件,亮屏时看到的也是这两个锁:# cat /sys/power/wake_lock ...

2018-08-22 11:50:50 9282

原创 禁止应用和adb安装APK

Platform: RK3368OS: Android 6.0Kernel: 3.10.0禁止应用和adb安装APK,使用adb安装返回“Failure [INSTALL_FAILED_USER_RESTRICTED]”。 使用PackageInstaller安装提示“您的管理员不允许安装来源不明的应用。”PackageInstaller修改--- a/src/com...

2018-06-22 11:06:57 5674

原创 添加显示隐藏状态栏、导航栏广播接收

Platform: RK3368OS: Android 6.0Kernel: 3.10.0SystemUI收到广播后可以显示或者隐藏系统界面,配合全屏应用可以做到真正全屏,且无法正常调出导航栏与状态栏。frameworks/base/packages/SystemUIdiff --git a/packages/SystemUI/src/com/android/systemu...

2018-06-22 11:05:28 1012

原创 codec音频路由调试

Platform: RK3368OS: Android 6.0Kernel: 3.10.0由于底层codec驱动都已实现相关ALSA相关 control,所以只需修改音频HAL中路由的配置即可实现麦克风输入的切换。源码位于hardware/rockchip/audio/tinyalsa_hal查看当前音频路由:$ logcat -s alsa_route01-21 1...

2018-06-22 10:54:03 4831

原创 接触摸屏后进recovery无显示

soc:rk3368Android:6.0现象:接触摸屏后进recovery无显示,进Android系统正常;不接触摸屏正常显示recovery UI。串口信息:locale is [(null)]stage is []reason is [(null)]cannot find/open a drm device: No such file or directoryfb0 reports ...

2018-06-08 11:08:31 1483

原创 Android设备的序列号与ro.serialno

Android设备的序列号是通过获取Property“ro.serialno”的值取得的。“ro.serialno”的值一般来源于内核启动参数中的"ro.boot.serialno"。在rk3368 Android6.0中,uboot读取idblock的IDBLOCK_SN偏移地址获取序列号-----&gt;保存到env变量“fbt_sn#”-----&gt;保存到env变量“androidboo...

2018-06-08 09:03:58 19355

原创 android 5.1 清除最近任务后将launcher强制关闭,再按返回键黑屏问题

在A64 android 5.1 平台发现清除最近任务后将launcher强制关闭,再按返回键黑屏,不会自动启动launcher问题。添加以下处理解决黑屏问题:frameworks/base/services/core/java/com/android/server/am/ActivityStackSupervisor.javadiff --git a/services/core/java/com...

2018-02-23 14:31:25 982

原创 Android设备硬件序列号(SN、串号)分析

Android设备硬件序列号(SN、串号)的序列号是怎么获取的,以全志A64平台来一步步跟代码分析:在设置-》关于设备-》状态信息中,显示的信息来自android.os.Build.SERIAL,代码位于:frameworks/base/core/java/android/os/Build.java: public static final String SERIAL = getString...

2018-02-23 14:26:45 22730 1

原创 Android 关机、重启、recovery流程分析

以Android5.1的代码来分析。应用层和框架层实现上层应用可以通过PowerManager来实现关机、重启、进recovery等功能。比如RecoverySystem 中就是使用PM使系统进入recovery模式:源码路径:frameworks/base/core/java/android/os/RecoverySystem.java private static void bootCo...

2018-02-23 14:18:31 5682

原创 A64 Recovery UI颜色显示问题

在调试全志A64 的Recovery 系统时,发现颜色显示有问题,颜色模式不对,于是修改BoardConfig.mk中的TARGET_RECOVERY_PIXEL_FORMAT配置,结果验证发现没有效果,颜色还是显示不正常。这时没办法了,只能跟代码查日志了:先看recovery的last_log,发现问题原因可能是bits_per_pixel 不对:fb0 reports (possibly in...

2018-02-23 14:09:38 764

build-master-tools-docker.tar.gz

AOSP官方的 Dockerfile,对于 Android 5.0 版(Lollipop 或 L)到 Android 8.0 版(Oreo 或 O),请考虑使用随附的 Dockerfile,以简化所有必需软件包的安装。

2020-11-20

车载导航工具,wince悬浮、工具、菜单

车载导航工具,wince悬浮、工具、菜单。集成百度Carlife,亿连手机互联,支持Android8.0手机。

2019-02-15

空空如也

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

TA关注的人

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