RK3399 Android10 bind cpu with isolcpus
Per new request to bind cpus for some special processes, we need isolate some cpus of RK3399, which only used for thes special processes. we can update dts file to set isolcpus arg in bootargs. set isolcpusdiff --git a/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi index 76753a9..a2a3206 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi @@ -49,7 +49,7 @@ compatible =...
RK3288 Android 10 系统开发[6] - 新增lunch
如果要新增产品,在Android sdk中可以新增lunch进行适配。以 rk3288 产品为例,新增 rk3288_tablet. 首先从已有的 rk3288_Android10 拷贝一份到新增的 rk3288_tablet 目录; cd <SDK>/device/rockchip/rk3288 cp -rf rk3288_Android10 rk3288_tablet 然后修改 device/rockchip/rk3288/AndroidProducts.mk 文件,添加新产品配置 --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -16,8 +16,11 @@ PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/rk32...
RK3288 Android 系统 boot.img 镜像解压方法
android 6.0 boot.img 解包filefile指令可以显示文件类型,但是对于特定封装的文件无能为力,比如Android系统编译出的boot.img $ file boot.img boot.img: data binwalkbinwalk 是一款非常强大的用于解析 bin 文件格式工具,可以通过扫描 bin 文件分析出文件的封装格式,列出 bin 文件中包含的不同类型的文件以及文件在bin中的偏移量。 安装 binwalk # 128M disk space will be used sudo apt install binwalk binwalk 可以用来分析 Android6 的 boot.img. $ binwalk boot.img DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 8 0x8 gzi...
RK3288 Android 10 系统开发[5] - 解决wifi mac随机问题
在Android10的使用过程中,由于业务要求使用wifi mac地址作为设备的 SN ,所以要求mac地址必须是唯一且固定的。然而测试发现在wifi 连接过程中会出现短暂时间的随机mac,wifi连接成功后保持稳定。 Android 官方解释 从官方解析来看,高版本安卓系统为了安全考虑,支持随机分配wifi mac. 但是要支持的话需要修改以下参数: frameworks/base/core/res/res/values/config.xml - config_wifi_connected_mac_randomization_supported - config_wifi_p2p_mac_randomization_supported 但是这两个参数默认已经配置为 false 了。只能换个方向查。 wifi 随机 mac追踪日志,dmesg 中发现wifi 扫描过程中确实会更新mac地址,而且随机的mac地址前3个字节是固定的。 [ 27.378506] pno_mac_addr: 00000000: da a1 19 60 00 87 ...
RK3288 Android 6.0 logcat 过滤带冒号的 tag
logcat 过滤logcat 过滤不打印的日志时,可以使用 <tag>:S 的参数,比如排除 ActivityManager 相关日志。使用 以下指令 logcat ActivityManager:S 但是我遇到一种特殊情况,应用app的tag中包含了冒号,比如 APP:SDK--, 其它类似的tag有很多,这种情况使用以下指令是无法过滤掉的。 logcat APP:SDK--:S 为了分析原因,需要查看 logcat 源码。 system/core/logcat/logcat.cpp system/core/liblog/logprint.c logcat.cpplogcat.cpp 中解析参数时,针对 s 使用 android_log_addFilterRule 解析。这里需要说明的是, logcat -s 与 logcat *:S 是等效的。logcat 在解析 <tag>:S 时也是调用 android_log_addFilterRule 函数。 for (;;) { int ret; ret = get...
RK3288 Android 10 系统开发[4] - 提供 app 默认权限
禁用旧版本SDK弹框如果在Android10系统上安装旧版本的app,会提示以下信息。 此应用专为旧版 Android 打造,因此可能无法正常运行。请尝试检查更新或与开发者联系。 为了去掉这个弹框提示,需要添加以下修改, 将 onStartActivity 函数中的 showDeprecatedTargetDialogIfNeeded 禁用。 --- a/services/core/java/com/android/server/wm/AppWarnings.java +++ b/services/core/java/com/android/server/wm/AppWarnings.java @@ -166,7 +166,8 @@ class AppWarnings { public void onStartActivity(ActivityRecord r) { ...
RK3288 Android 6.0 适配 RTL8821CU wifi&BT 功能
需求背景项目需求,要求添加蓝牙功能,选择的芯片是WIFI&蓝牙二合一的 RTL8821CU. 为此,需要更新蓝牙和wifi的相关驱动,以及Android系统层的一些配置,同时还要向下兼容旧的wifi芯片 RTL8188EU. 相关文件# kernel ## config kernel/arch/arm/configs/rockchip_defconfig ## dts kernel/arch/arm/boot/dts/rk3288-tb_8846.dts ## wifi kernel/drivers/net/wireless/rockchip_wlan/rtl8821cu/* kernel/drivers/net/wireless/rockchip_wlan/rtl8821cu/Makefile kernel/drivers/net/wireless/rockchip_wlan/wifi_sys/rkwifi_sys_iface.c kernel/drivers/net/wireless/Kconfig kernel/drivers/net/wireless/Makefi...
RK3288 Android 10 系统开发[3] - 结合 gitlab 搭建 repo 代码仓库管理平台
目前为了本地服务器搭建 gitlab 管理平台,并配合 gerrit 进行代码审查,需要对代码管理重新部署。 Android 系统使用 repo 管理源码,但是 Android 10 源码包含 732 个仓库,如果在本地 gitlab 服务器和 gerrit 服务器上将所有的仓库都创建一遍的话,仓库太多了, 不便于管理和审查,所以需要重新设计代码结构,并使用 repo 和 manifest 进行管理,为此,我先使用官方 gitlab 搭建了一些测试仓库。用于学习和研究 repo 的代码管理方式。 gitlab 操作新建 group首先在 gitlab 上创建一个新的 group,我这里命名为 repo-test, 然后 gitlab 会自动分配一个group链接 "https://gitlab.com/te3597/" 新建空仓库在新建好的 repo-test 组下新建以下空仓库 git-repo manifest sdk kernel uboot frameworks_base 将仓库的克隆路径保存下来 https://gitlab.com/te3597...





