![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 54
D00PING
这个作者很懒,什么都没留下…
展开
-
通过OTA 升级更改系统默认设置
正常修改系统默认设置,我们只需要修改设备overlay资源,或者直接修改frameworks/base/packages/SettingsProvider/res/values/defaults.xml里面的值既可;但OTA 升级 更改系统默认设置还必须修改SettingsProvider里面的SETTINGS_VERSION,否则OTA升级后不会更新系统默认设置原创 2022-10-25 10:40:42 · 885 阅读 · 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 · 1409 阅读 · 0 评论 -
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 · 2920 阅读 · 0 评论 -
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 · 1992 阅读 · 0 评论 -
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 · 779 阅读 · 0 评论 -
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 · 2447 阅读 · 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 · 5145 阅读 · 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 · 1570 阅读 · 0 评论 -
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 · 6373 阅读 · 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 · 4412 阅读 · 0 评论 -
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 · 1556 阅读 · 0 评论 -
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 · 1170 阅读 · 0 评论 -
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 · 1777 阅读 · 0 评论 -
Ubuntu14.04 安装Android studio
Ubuntu14.04 安装Android studioAndroid Studio 官方 Android IDE Android Studio 提供用于为各类 Android 设备开发应用的最快速的工具。利用世界一流的代码编辑、调试、性能工具、一套灵活的构建系统以及一套即时构建/部署系统,您可以专注于构建独特的高品质应用。1. 安装下载Android Studio原创 2017-09-26 09:01:17 · 1832 阅读 · 0 评论 -
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 · 1221 阅读 · 0 评论 -
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 · 371 阅读 · 0 评论 -
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 · 13934 阅读 · 9 评论 -
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 · 1451 阅读 · 0 评论 -
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 · 4204 阅读 · 0 评论 -
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 · 1603 阅读 · 0 评论 -
使用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 · 1117 阅读 · 0 评论 -
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 · 3200 阅读 · 0 评论 -
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 · 2530 阅读 · 0 评论 -
跳转到设置子项,并显示返回按钮
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 · 916 阅读 · 4 评论 -
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 · 4787 阅读 · 0 评论 -
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 · 952 阅读 · 0 评论 -
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 · 22518 阅读 · 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 · 5582 阅读 · 0 评论 -
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 · 744 阅读 · 0 评论 -
android 5.x Native Service SELinux 调试记录
在开发android项目时,需要在init.rc中加入我们自己的native service xxx;但是在android 5.x系统上添加服务后发现服务没有正常启动,log中会报avc: denied错误。被SELinux拒绝权限了。所以我们就需要添加权限了。与之前android版本一样,修改init rc文件添加我们需要的服务service xxx/system/vendor/原创 2016-12-08 09:11:18 · 2760 阅读 · 0 评论 -
USB Video Class (UVC) menuconfig
在menuconfig以下路径: | -> Device Drivers | -> Multimedia support (MEDIA_SUPPORT [=y]) | -> Media USB Adapters (MEDIA_USB_SUPPORT [=y]) 选择USB Video Class (UVC) 、UVC input原创 2016-11-11 16:00:46 · 1551 阅读 · 0 评论 -
apk 使用平台签名
找到需要源码中的以下文件:build/target/product/security/platform.pk8build/target/product/security/platform.x509.pemprebuilts/sdk/tools/lib/signapk.jar在windows命令行运行命令:java -jar signapk.jar platform.x5原创 2016-11-04 15:44:37 · 369 阅读 · 0 评论 -
awk: line 2: function strtonum never defined
编译报awk错误:regenerate rootfs cpio15757 块16892 块awk: line 2: function strtonum never definedawk: line 2: function strtonum never definedERROR: build kernel Failed解决办法:sudo apt-get i原创 2016-11-03 09:13:09 · 7631 阅读 · 0 评论 -
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 · 1321 阅读 · 0 评论 -
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 · 3642 阅读 · 0 评论 -
recovery升级系统时挂载cache分区失败
Platform: RK3368OS: Android 6.0Kernel: 3.10.0文章目录现象解决办法现象重启进recovery升级update.zip时,不进升级界面,而是进入recovery界面。并有打印错误"“E:failed to mount /cache /dev/block/rknand_cache (No such file or directory)”升级日志...原创 2018-12-21 09:44:28 · 8310 阅读 · 0 评论 -
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 · 4140 阅读 · 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 · 9041 阅读 · 0 评论 -
接触摸屏后进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 · 1450 阅读 · 0 评论 -
Android设备的序列号与ro.serialno
Android设备的序列号是通过获取Property“ro.serialno”的值取得的。“ro.serialno”的值一般来源于内核启动参数中的"ro.boot.serialno"。在rk3368 Android6.0中,uboot读取idblock的IDBLOCK_SN偏移地址获取序列号----->保存到env变量“fbt_sn#”----->保存到env变量“androidboo...原创 2018-06-08 09:03:58 · 19218 阅读 · 0 评论