android系统颜色color资源问题分析

本文探讨了一个APKG应用中由span设置的颜色显示错误问题,通过添加日志打印实际颜色值,使用十六进制转换定位颜色资源,并提供全局搜索与替换的方法来修正颜色显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个实际的问题,引起了如下分析

问题描述:一个apk G,在使用的时候有个由span设置的颜色显示不对,显示为白色

这个apk没有源码,反编译可以看到代码,看不到资源,也看不到程序中使用的是哪个颜色值


处理方案

可以添加log,打印使用的color,color值即为实际的颜色值

比如,在Color.class中

  // Field descriptor #8 I
  public static final int RED = -65536;
  
  // Field descriptor #8 I
  public static final int GREEN = -16711936;


使用计算器进行8位的十六进制转换

-65536 = 0Xffff0000      ARGB

-16711936 = 0Xff00ff00


在代码中全局搜索ffffff,把搜到的进行替换,如果有个方法保证每个ffffff都替换成不同的颜色,便于区分定位

修改,编译,查看log

根据实际打印的颜色就可以定位到实际使用的color资源





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值